php中通過(guò)eval實(shí)現(xiàn)字符串格式的計(jì)算公式
有時(shí)候我們對(duì)每一種產(chǎn)品都有一個(gè)提成公式,而這個(gè)計(jì)算提成的公式是以字符串格式存在表中的當(dāng)我們用這個(gè)計(jì)算公式時(shí),他并不像我們寫(xiě)的:$a=2+3*5;這樣簡(jiǎn)單的能計(jì)算出結(jié)果,而它是個(gè)字符串.所以,我們就必須把字符串轉(zhuǎn)化為我們能夠處理的結(jié)果
而php中的eval()函數(shù)可以處理php代碼,因此可以用此來(lái)解決:以字符串格式存儲(chǔ)的計(jì)算公式
比如:
$str='2*(3+12)';
$result=eval("return $str;");
echo $result;
會(huì)輸出:30
是表達(dá)式的值
其中eval()中的return $str;就是php代碼
當(dāng)然也可以帶入變量的值:
$a=3;
$b=12;
$str='2*($a+$b)';
$result=eval("return $str;");
echo $result;
會(huì)輸出:30
這樣就實(shí)現(xiàn)了php實(shí)現(xiàn)計(jì)算器的代碼了,主要是使用php的eval函數(shù)。
相關(guān)文章
深入解析PHP 5.3.x 的strtotime() 時(shí)區(qū)設(shè)定 警告信息修復(fù)
在某些參考資料中是說(shuō)這兩個(gè)方法任選其一就可,但經(jīng)我測(cè)試,必須兩個(gè)方法同時(shí)使用,才不會(huì)再出現(xiàn)錯(cuò)誤提示2013-08-08
php相對(duì)當(dāng)前文件include其它文件的方法
這篇文章主要介紹了php相對(duì)當(dāng)前文件include其它文件的方法,實(shí)例分析了php中include引入文件的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-03-03

