PHP实现逆波兰式
近期一个小项目需要用到公式运算, 所以就进行一些了解,以下内容均属于个人经验。 在PHP中实现公式表达式四则运算大概有两种方法: 1)使用系统函数eval 2)将表达式转换成逆波兰表达式进行计算。 <?php //使用系统函数eval $str = 'L*((k-J)-(C+k))/M'; $param = array('L' => 0.5, 'k' => 2, 'J' => 1, 'C' => 6, 'M' => 4); $str2 = ''; for($i = 0; $i < strlen($str); $i++) { $tmp = substr($str, $i, 1); if (array_key_exists($tmp, $param)) { $str2 .= $param[$tmp]; } else { $str2 .= $tmp; } } eval("\$str = $str2;"); printf('%5.2d', $str); /*End of php*/ <?php /** * math_rpn * * 实现逆波兰式算法 * * @author sparkHuang 260558820@qq.com * @version RPN 1.0.0 * */ class math_rpn { //初始的计算表达式 private $_expression = ''; /