经过大量的操作后,我得到了一些类似的信息:

$exr = "2+3/1.5";


如何获得该表达式的结果?像这样:

$result = (floatval)$exr; // show: 4


当然不行了。我只有2个,第一个符号。
任何简单的方法来解决这个问题?

最佳答案

您可以像这样使用PHP eval函数:

$exr = '2+3/1.5';
eval('$result = ' . $exr . ';');
var_dump($result);
// float(4)


请仔细阅读此说明:


警告:eval()语言构造非常危险,因为它允许
执行任意PHP代码。因此不鼓励使用它。如果你
经过仔细验证,除了使用此功能外,没有其他选择
构造时,要特别注意不要传递任何用户提供的数据
事先未正确验证它。

09-30 13:56