$strには、文字列で、式を与えます。例えば、"!(false && true)|| false "
try{
$ret = eval("return (" . $str
");");
}catch(Exception $ex){
$ret = false;
}
$strが正しく評価できる文字列であれば、問題ありません。
評価できない場合、PHP5.4では、evalがfalseを返すはずですが、例外が発生します。
参考までに、PHP7では、ParseErrorが発生します。
@evalとしても、例外が発生します。
例外が発生するならば、catchでとらえられるはずですが、とらえられずに困っています。
0 件のコメント:
コメントを投稿