PHP的字符串计算公式

这个问题已经在这里有了答案:            >            How to evaluate formula passed as string in PHP?                                    2个
所以我有公式作为字符串

$comm =“(a x 5%-2%)”;

我希望它是$comm = $a * 5/100 *(1-2 / 100);

如何在php中做到这一点?

解决方法:

为了以正确的方式可靠,安全地从头开始执行此操作,您需要执行以下操作:

>词法分析,这涉及将输入与标记进行模式匹配:

(a x 5% - 2%)

将变成类似于以下令牌链的东西:

openparen variable multiply integer percent minus integer percent closeparen

>语法分析,这涉及获取这些标记并定义它们之间的关系,类似这样,以匹配标记的模式:

statement = operand operator statement

>然后,您将需要分析生成的语法树,以便您可以运行它并产生答案.

它看起来不会像$comm = $a * 5/100-2/100那样简单;但这将得出相同的结论.

某人可能已经解决了这个问题,这是我在简短的Google搜索后找到的两个:
PHP Maths Expression Parser,
And another.

这些SO问题也类似Smart design of a math parser?Process mathematical equations in php

上一篇:javascript-如何定义三个圆的交点?


下一篇:笔记本安装SSD固态硬盘详细的优化设置