2015-09-11 79 views
-1

我想问如何用2个随机数($ a,$ b)进行数学计算。我使用$ c作为随机数来阐明使用哪个数学符号。随机数与随机数学符号的PHP数学

$a = mt_rand(1,1000); 
$b = mt_rand(1,1000); 
$c = mt_rand(1,1000); 
if ($c < 100) { 
    $math = "/"; 
} else if ($c > 900) { 
    $math = "*"; 
} else if (500 < $c && $c < 900) { 
    $math = "-"; 
} else { 
    $math = "+"; 
} 

$calculate = "$a $math $b"; 
echo $calculate; // provide mathematical task to user 
echo "<br />"; 
$result = $a "$math" $b; // trying to calculate result 
echo $result; 

我的问题是我应该如何使用“$数学”变量来澄清数学符号?谢谢您的帮助。

实施例:

$a = 1; 
$b = 2; 
$math = "*"; 

结果是 “1 * 2”

+0

你试过了吗排除倒数第二个语句中的$ math附近的双引号,并连接,例如, $ result = $ a。$ math。$ b; – Craig

+0

@Craig是的,它返回字符串。 –

回答

1

来计算结果,可以通过改变这些线使用eval()

$result = $a "$math" $b; // trying to calculate result 
echo $result; 

到:

$calculatePHP = '$result = ('.$a.$math.$b.');'; 
eval($calculatePHP); 
echo $result; 
+0

谢谢,它的工作原理! –