我正在获取字符串敌人示例中的公式
$a = '1*2*(2+3)';
echo eval($a) // Output should be 10
现在我正在尝试评估这个字符串并为此使用 eval 但在 php 7 中给我这个错误 Use of eval() is discouraged 所以我如何评估这个字符串。
最佳答案
PHP never raises any such error : 你应该怀疑第三方干扰了安装,可能安装了某种以“安全”为重点的扩展,它改变了 PHP 的行为。
所有这样的扩展都没有被 PHP 项目认可,而且很糟糕。
不管手册怎么说 eval,还是有 no technical difference在包含文件和评估一些代码之间。
现实世界中的唯一区别是 eval 代码可能包含用户输入:用户输入的清理和过滤对于不使用 eval 的 PHP 应用程序来说是个问题。
注意:您缺少计算表达式的返回值
关于在 PHP 7 中不鼓励使用 Eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583208/