eval抛出异常在PHP中使用未定义的常量

时间:2019-02-25 10:29:44

标签: php eval

我正在使用eval使用字符串值进行决策。当我尝试比较两个字符串时,它将引发使用未定义常量的异常。请帮助任何人这有什么问题。

$condition ="no != no";
echo eval("return $condition;");

抛出错误,如

Notice: Use of undefined constant no - assumed 'no' in index.php : eval()'d code on line 1

1 个答案:

答案 0 :(得分:2)

no应该是像$no != $no这样的变量,其中$no应该具有预定义的值,或者应该是如下所示的字符串:

$condition ="'no' != 'no'";
echo eval("return $condition;");

但是请注意,在任何情况下都不要使用eval,因为这确实是一个糟糕的选择。请避免这种情况,您可以使用以下代码来满足您的要求:

return ('no' != 'no') ? false: true;

希望它会清除您。