PHP eval() 函数实际上并不是一个函数,而是一种语言构造,用于像 PHP 一样计算给定的字符串代码。
字符串必须是有效的 PHP 代码,并且必须以分号结尾。 return 语句将立即终止代码的计算。
代码将在调用此函数的代码范围内执行。因此,在调用中定义或更改的任何变量在终止后仍将保持可见。
注意:如果计算的代码中出现致命错误,则整个脚本退出。
语法
eval(phpcode)
参数
phpcode | 必填。 指定要评估的有效 PHP 代码。代码不得包含在 PHP 开始和结束标记中。 |
返回值
返回 null,除非在计算中调用 return代码,在这种情况下,返回传递给 return 的值。从 PHP 7 开始,如果计算的代码中存在解析错误,eval() 会抛出 ParseError 异常。在 PHP 7 之前,在这种情况下,eval() 返回 false,并且以下代码继续正常执行。使用 set_error_handler()eval() 中的解析错误.
示例:eval() 示例 - 简单文本合并
下面的示例显示了 eval() 函数的用法。
<?php
$string = 'nice';
$time = 'spring';
$str = 'This is a $string $time day.';
echo $str. "\n";
eval("\$str = \"$str\";");
echo $str. "\n";
?>
上述代码的输出将类似于:
This is a $string $time day.
This is a nice spring day.