php 字符串算术表达式计算

张映 发表于 2017-01-19

分类目录: php

标签:

当有一个字符串算术表达式,该怎么样让其计算呢?例如:"5*4-10"

$aa = "{1}*{2}-{3}";
$farr = array('/\{1\}/','/\{2\}/','/\{3\}/');
$tarr = array(3,4,10);
$str = preg_replace( $farr,$tarr,$aa);
echo $str;        //结果:3*4-10
echo eval('return '.$str.';');   //结果:2

 



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/php/1846.html

3 条评论

  1. 小子 留言

    使用 create_function 会比较好一点吧,一般服务器上都会把 eval 函数给禁用掉

  2. 小雨 留言

    $str = '3*4-10';
    $str = '$num = '.$str.';';
    eval($str);
    echo $num;

  3. 小雨 留言

    $str = '3*4-10';
    $num = create_function('','return '.$str.';');
    echo $num();