当有一个字符串算术表达式,该怎么样让其计算呢?例如:"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
使用 create_function 会比较好一点吧,一般服务器上都会把 eval 函数给禁用掉
$str = '3*4-10';
$str = '$num = '.$str.';';
eval($str);
echo $num;
$str = '3*4-10';
$num = create_function('','return '.$str.';');
echo $num();