摘要: PHP的Pear库中已经定义好了RPN类用于计算逆波兰式,并同时可以让我们来计算中缀表达式的值。其使用方法也比较简单,且支持功能完善。在工资项目的计算中,根据需要对RPN类库进行了修改,让调用更加简洁。<?php/** * Math::Rpn * * 作用: * 计算中缀表达式的值 * 将表达式转换为逆波兰式,计算逆波兰式的值 * Change Expression To RPN (Reverse Polish Notation), Evaluate RPN Expression * * 示例: * 1、计算中缀表达式的值 $infix_express... 阅读全文
posted @ 2013-02-23 09:59 kelite 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 在PHP中实现公式表达式四则运算大概有两种方法:1)使用系统函数eval<?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) 阅读全文
posted @ 2013-02-23 00:59 kelite 阅读(632) 评论(0) 推荐(0) 编辑
摘要: 目标是实现如下的计算公式:假设有一个计算公式如下: $expression = "(F1*F12+10.34)";其中的变量值如下:$expression_value = Array('F1'=>10, 'F12'=>20);我们希望用PHP构建一个类来计算出这个表达式的值。这种应用主要用于web工资管理中,用户可以自定义其工资相公式的情况 $rpn = new Math_Rpn(); $rpn->setExpressionValue($expression_value); echo $rpn->calculate($ 阅读全文
posted @ 2013-02-23 00:55 kelite 阅读(331) 评论(0) 推荐(0) 编辑