Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php处理数学方程的eval()替代方法_Php_Math_Eval_User Input - Fatal编程技术网

使用php处理数学方程的eval()替代方法

使用php处理数学方程的eval()替代方法,php,math,eval,user-input,Php,Math,Eval,User Input,有没有其他方法可以代替使用eval()来处理数学方程,或者有没有其他方法可以安全地使用eval来处理用户输入 $string = "1+2-3*4/5"; $answer = eval($answer = $string); 也许您只需要从给定字符串中选择数学和数字,然后进行求值 preg_match_all("/[0-9()+\-*\/.]/", $string, $output_array); $operation = implode("", $output_array[0]); eval

有没有其他方法可以代替使用eval()来处理数学方程,或者有没有其他方法可以安全地使用eval来处理用户输入

$string = "1+2-3*4/5";
$answer = eval($answer = $string);

也许您只需要从给定字符串中选择数学和数字,然后进行求值

preg_match_all("/[0-9()+\-*\/.]/", $string, $output_array);
$operation = implode("", $output_array[0]);
eval($operation);

在计算输入之前验证输入。请看这里的一些答案:或者使用一些我已经在你的最后一个问题下写过的答案