使用PHP解析数学运算

6 php regex

我正在开发一个项目,我需要创建一个函数来解析4个默认的数学运算(加法,减法,乘法,除法).如果函数可以解析括号之间的操作,那将是很好的.

因此,必须要求函数首先检查乘法和除法运算(在解析括号之间的所有操作之后应该检查它是否存在,并且该规则应该适用于括号操作[最大的问题是括号可以包含括号]).完成所有乘法和除法运算后,它应该执行所有加法和减法运算.最终的数字应由函数返回.

另一个不错的补充是RegExp字符串,它将检查数学运算.

提前致谢!

dav*_*010 5

这应该非常安全:

function do_maths($expression) {
  eval('$o = ' . preg_replace('/[^0-9\+\-\*\/\(\)\.]/', '', $expression) . ';');
  return $o;
}

echo do_maths('1+1');
Run Code Online (Sandbox Code Playgroud)