php 自设公式计算思路

PHP 2014-11-18

背景简介:
1.由公式去计算一些数字,如工资计算
2.方便后期维护,易修改公式

鉴于上述两点,在程序中写死公式就显得不妥,于是有了下面的思路,使用字符串型的公式进行计算:
1.可以设置一些科目,如科目1、科目2
2.由1中设置的科目来编写公式(通过加减乘除以及任何php可以识别的数学方法),简单例子如可以设置为 "[科目1]+[科目2]"
3.计算时通过str_replace方法将科目变为程序中的变量
4.最终就生成了程序可以使用的公式如$p1+$p2
5.计算,使用eval方法 $result = eval("return $p1+$p2;");

其他说明:
仅用加减乘除会无法实现一些公式计算,如计算个人所得税不同基数公式不同,那么可以使用形如 "[税前工资]>3500?(xxx计算公式):0"这样的公式来进行计算。
某些环境会禁用eval,那么就需要开放。

缺点:
公式错误程序会报错,可编写方法验证公式语法的正确性。

还不快抢沙发

添加新评论