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 文は、文字列の評価をただちに終了します。
PHP4では、eval()関数は FALSEを返します。さも
なくば、結果の値を返すためにreturnを使用するこ
とが可能です。一方、PHP3では、eval()の型は
voidであり、値を何も返しません。
例 1.
eval()の例 - 簡単なテキストのマージ
<?php $string = 'cup'; $name = 'coffee'; $str = 'This is a $string with my $name in it.<br>'; echo $str; eval ("\$str = \"$str\";"); echo $str; ?>
|
上の例は、以下を表示します。
This is a $string with my $name in it.
This is a cup with my coffee in it. |
|
ティップ: ブラウザに直接結果を出力する
全てのものと同様に、出力制御関数
を使用してこの関数の出力をキャプチャーし、(例えば)文字列
(string)に保存することが可能です。