PHP マニュアル
前のページ |  | 次のページ

# eval

(PHP 3, PHP 4, PHP 5)

eval -- 文字列を PHP コードとして評価する

## 説明

mixed eval ( string code_str )

eval() は、code_str で与えられた文字列を PHP コードとして評価します。 中でも、データベースのテキストフィールドにコードを保存し、 後で実行するためには便利です。

eval() を使用する際、注意するべき点が いくつかあります。 パーサが eval() の処理中に落ちないように、 渡す文字列はセミコロンで文が終了するといった有効な PHP コード である必要があります。また、code_str の 中の文字を適切にエスケープする必要があります。

eval() の中で値を与えた変数は、 この後、メインスクリプトの中でもこれらの値を維持することも 覚えておいてください。

return 文は、文字列の評価をただちに終了します。 PHP 4 では、評価されるコードの中で return が コールされない限り、eval() は `NULL` を返します。 return がコールされた場合は、その値を返します。 評価されるコードの中でパースエラーが発生した場合は、 eval() は `FALSE` を返します。 評価されるコードの中で致命的なエラーが発生した場合は、 スクリプト全体が終了します。 PHP 3 では、eval() は値を返しません。

例 1. eval()の例 - 簡単なテキストのマージ
`<?php $string = 'cup'; $name = 'coffee'; $str = 'This is a $string with my $name in it.'; echo $str. "\n"; eval("\$str = \"$str\";"); echo $str. "\n"; ?>`
上の例の出力は以下となります。
    This is a $string with my $name in it.
    This is a cup with my coffee in it.

> ティップ: ブラウザに直接結果を出力する すべてのものと同様に、出力制御関数 を使用してこの関数の出力をキャプチャーし、(例えば)文字列 (string)に保存することが可能です。

call_user_func() も参照ください。

前のページ | ホーム | 次のページ
die | 上に戻る | exit