在PHP 7中不鼓励使用Eval

New*_*bie 1 eval php-7

我在字符串敌人的例子中得到了公式

$a = '1*2*(2+3)';
echo eval($a) // Output should be 10
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试评估此字符串并使用eval,但在PHP 7中给我这个错误不鼓励使用eval(),所以我如何评估此字符串.

Joe*_*ins 6

PHP 永远不会引发任何此类错误:您应该怀疑第三方是否干扰了安装,可能安装了某种"安全"聚焦扩展来改变PHP的行为.

所有这些扩展都不受PHP项目的批准,并且非常糟糕.

尽管手册中有关于eval的说法,但在包含文件和评估某些代码之间没有技术差异.

现实世界中唯一的区别是eval'd代码可能包含用户输入:对于不使用eval的PHP应用程序,用户输入的清理和过滤是一个问题.

注意:您缺少评估表达式的返回值