php中通過eval實現(xiàn)字符串格式的計算公式
更新時間:2017年03月18日 22:04:28 投稿:mdxy-dxy
有時候我們對每一種產(chǎn)品都有一個提成公式,而這個計算提成的公式是以字符串格式存在表中的,當我們用這個計算公式時,他并不像我們寫的:$a=2+3*5;這樣簡單的能計算出結(jié)果,而它是個字符串,所以,我們就必須把字符串轉(zhuǎn)化為我們能夠處理的結(jié)果
有時候我們對每一種產(chǎn)品都有一個提成公式,而這個計算提成的公式是以字符串格式存在表中的當我們用這個計算公式時,他并不像我們寫的:$a=2+3*5;這樣簡單的能計算出結(jié)果,而它是個字符串.所以,我們就必須把字符串轉(zhuǎn)化為我們能夠處理的結(jié)果
而php中的eval()函數(shù)可以處理php代碼,因此可以用此來解決:以字符串格式存儲的計算公式
比如:
$str='2*(3+12)';
$result=eval("return $str;");
echo $result;
會輸出:30
是表達式的值
其中eval()中的return $str;就是php代碼
當然也可以帶入變量的值:
$a=3;
$b=12;
$str='2*($a+$b)';
$result=eval("return $str;");
echo $result;
會輸出:30
這樣就實現(xiàn)了php實現(xiàn)計算器的代碼了,主要是使用php的eval函數(shù)。
相關(guān)文章
深入解析PHP 5.3.x 的strtotime() 時區(qū)設(shè)定 警告信息修復(fù)
在某些參考資料中是說這兩個方法任選其一就可,但經(jīng)我測試,必須兩個方法同時使用,才不會再出現(xiàn)錯誤提示2013-08-08

