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";
    ?> 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    上述代码的输出将类似于:

    This is a $string $time day.
    This is a nice spring day. 
    • 1