可能重複:
how to evaluate formula passed as string in php?從字符串變量PHP獲取真正的價值
我有這樣一個字符串 「10 * 0.1 + 800」 我想獲得的實際答案這個字符串是數字而不是字符串值。
我試過floatval
php的功能,但沒有運氣。任何想法?
可能重複:
how to evaluate formula passed as string in php?從字符串變量PHP獲取真正的價值
我有這樣一個字符串 「10 * 0.1 + 800」 我想獲得的實際答案這個字符串是數字而不是字符串值。
我試過floatval
php的功能,但沒有運氣。任何想法?
你將不得不「評估」使用PHP的eval函數的字符串:
eval('return ' . $string . ';');
但我真的只能這樣做,如果你能信任的字符串。因爲你在這裏做的確是在執行PHP代碼。如果你不能相信字符串,這是一個可能的安全漏洞。
其他可能的選擇是使用解析器。我相信,這個任務已經有可用的庫。
你可以嘗試:
$string = "10*0.1+800";
$result = eval("return "+$string);
但使用eval的安全隱患要小心!
thneks,............... –
你可以簡單地使用php的eval函數來評估字符串。
$str = "10*0.1+800"
eval('return ' . $str. ';');
不要使用'eval',儘管很多人所提出的建議吧! – fresskoma
@ x3ro然後什麼是最好的方法來做到這一點,感謝您的意見 –
看看鏈接的「重複問題」。被接受的答案包含一個完整的數學表達式解析器,它不會引入eval的安全風險。 – fresskoma