我在三个变量中有两个数字和一个运算符。例如$number1、$number2和$operator。$operator只包含(+,-,*,/)数组中的运算符。现在我的问题是如何用这三个变量来计算数学运算?例如,$number1 ($operator) $number2 =?
发布于 2018-02-18 04:15:38
建议您只使用*和+,不要期望人们处理小数和负数。最好保持它尽可能简单,不要试图将字符串作为一个表达式进行eval,这不是一个好的实践:
$operators = array('+', '*');
$operator = rand(0, 1);
$display = $number1.' '.$operators[$operator].' '.$number2;
if ($operators[$operator] == "*") {$result = $number1 * $number2;}
elseif ($operators[$operator] == "+") {$result = $number1 + $number2;}当然,在没有eval、比如在这个答案中的情况下还有其他计算方法,但除非您正在做更复杂的事情,否则可能不值得。
发布于 2018-02-18 03:59:15
我认为,如果我正确理解它,它可以做得很简单。
$operators = array( '+', '-', '*', '/' );
$key = rand( 0, 3 );
$result = $number1 . $operator[$key] . $number2;我认为. ' ' .也可以被.取代,但我喜欢“宽敞/清晰”的代码。
https://wordpress.stackexchange.com/questions/294414
复制相似问题