PHP 计算字符串表达式(一)

  • A+
所属分类:PHP 数据结构

        在工作和学习中,我们经常遇到需要计算从而生成报表或者利润成本等。例如:我们如果将公式写在代码中,一旦公式发生变化,我们需要去修改代码,重新上传服务器非常浪费时间。因此,我们可以在管理后台设置一个公式,如:{利润}={本金}*{利息},可以将此公式作为字符串保存于数据库,在需要计算时将字符串取出,利用正则或者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
   
   ?>
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  0   博主  1

    • avatar 剑花烟雨江南 Admin

      :oops: