PHP 杂项函数

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.