嗨,我正在努力嘗試在 Laravel 7 中執行計算。
我有一個像這樣的變數$val = '1000*2';,我正在尋找一個輔助函式或相關的執行它。
eval($val)似乎沒有以正確的方式運行。我只想要一個結果為2000.
TIA
uj5u.com熱心網友回復:
如果你只需要處理乘法,你可以嘗試這樣的事情。
$val = '1000*2';
$parts = explode('*', $val);
$res = array_reduce($parts, function($carry, $item) {
return $carry * $item;
}, 1);
echo $res;
uj5u.com熱心網友回復:
我不建議使用 eval() 來執行用戶傳遞的值的計算。
如果你真的想不惜一切代價獲得價值,你可以這樣做:
$val = "echo 1000 * 2;";
eval ($val);
或者
$val = eval("return 1000 * 2;");
echo $val;
您可以在檔案中找到更多資訊。 https://www.php.net/manual/pt_BR/function.eval.php
uj5u.com熱心網友回復:
伙計們,這個庫幫助了我https://github.com/mossadal/math-parser
$parser = new StdMathParser();
$AST = $parser->parse($val);
然后我可以使用$AST->getValue().
謝謝!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/353869.html
