0

我对此有点陌生,但我想知道是否可以将一些动态计算作为参数添加到函数中。

事情在我的函数内部,我以一致的方式格式化东西,但每次我想在参数中添加某种不同的计算。

<?php
function dynamicCalculator($calculation){

 $result = $calculation;

 //some formatting
 return $result;
}

 echo dynamicCalculator('(3x5)+1');

这当然行不通,但如果有人知道这是如何工作的,我很想听听。

4

4 回答 4

1

您正在寻找 RPN(反向波兰表示法)

这是一个例子

http://pear.php.net/package/Math_RPN/

这将允许您使用

$expression = "(2^3)+sin(30)-(!4)+(3/4)";

$rpn = new Math_Rpn(); echo $rpn->calculate($expression,'deg',false);

并且不必使用 Eval

于 2013-10-13T21:52:04.680 回答
1

您正在寻找的是 eval 函数。

eval('$result = (3*5)+1');

但请注意确保您没有将可能有害的代码传递给该函数。

于 2013-10-13T21:53:10.570 回答
0

使用eval. eval("10+2")应该返回 12。不过要小心,您也可以使用eval.

其他人在 StackOverflow 上也有类似的问题

于 2013-10-13T21:51:35.040 回答
0

你可以使用这个:

function dynamicCalculator($calculation) {
   $result = eval($calculation);
   return $result;
}
于 2013-10-13T21:52:21.393 回答