- A+
在工作和学习中,我们经常遇到需要计算从而生成报表或者利润成本等。例如:我们如果将公式写在代码中,一旦公式发生变化,我们需要去修改代码,重新上传服务器非常浪费时间。因此,我们可以在管理后台设置一个公式,如:{利润}={本金}*{利息},可以将此公式作为字符串保存于数据库,在需要计算时将字符串取出,利用正则或者str_replace替换字符,再写一个计算字符串表达式的函数即可。PHP计算表达式的方法有三种:①eval()函数;②利用数据结构栈(stack)中缀表达式转后缀再计算;③利用数据结构栈(stack)计算表达式。
本文中,我们先使用第一种方法eval()函数。eval是php的杂项函数,无须安装即可使用。eval是将字符串作为php代码来运行,该字符串必须是合法的php代码,并且需要以分号结尾。另外,需注意在字符串中如果没有调用return 语句,则返回NULL,如代码中存在错误,则返回false。实例如下:
<?php $exp = "2*2 +(6-4)"; $res = eval("return $exp;"); echo $res; //运行结果:6 ?>
2018年6月22日 17:51 沙发