将字符串转换为数学方程[重复]
Posted
技术标签:
【中文标题】将字符串转换为数学方程[重复]【英文标题】:Convert string into Math equation [duplicate] 【发布时间】:2014-10-17 15:16:41 【问题描述】:我只是想将包含方程式的字符串转换为实际的 php 数学方程式,这可能使用 PHP5+ 吗?如果有,怎么做?
以下是字符串的一些示例:
$string = "37-0";
$string = "315+10";
$string = "25+50";
$string = "88-13";
如果可能的话,我只是想将这些解析为正确的数学答案
【问题讨论】:
它会有什么问题 ***.com/questions/12692727/… 的公认答案是非常好的安全数学方程计算器,没有任何 eval 的问题和危险 【参考方案1】:试试这个:
$str = '37 - 0';
eval( '$result = (' . $str. ');' );
echo $result;
查看eval function
将给定的代码评估为 PHP。
附带说明:
eval() 语言结构非常危险,因为它允许 执行任意 PHP 代码。因此不鼓励使用它。如果你 已经仔细验证除了使用这个没有其他选择 构造,特别注意不要传递任何用户提供的数据 在没有事先正确验证的情况下进入它。
【讨论】:
这个解决方案写得更好,但我更喜欢@Valentin Mercier 的方法(如下):它只需要最后一个分号即可。例如。 $result = eval("return " . $string . ";");【参考方案2】:您正在寻找the PHP function eval
像这样使用它:
$string = "88-13";
$result = eval("return " . $string);
【讨论】:
以上是关于将字符串转换为数学方程[重复]的主要内容,如果未能解决你的问题,请参考以下文章
java 中字符串能不能直接转换为数学表达式进行计算,不可以要怎么转换,求具体代码。简单点,最好带括号