我有一个包含以下内容的变量:
40 * ($plvl^2)) + (360 * $plvl);
$ plvl等于2.根据wolfram和google,正确的结果应该是880,但PHP函数返回720.
有谁知道为什么他们会返回不同的值,我如何更正它以产生880?
答案 0 :(得分:9)
答案 1 :(得分:5)
^
运算符不是取幂,它是eXclusive OR(XOR)按位运算符。而不是$plvl^2
,请使用pow($plvl, 2)
答案 2 :(得分:4)
^
是异或,而不是指数。 2 ^ 2为零。
答案 3 :(得分:1)
只是:
$plvl = 2;
echo 40*$plvl*$plvl+360*$plvl; //880
实际上不需要括号。
答案 4 :(得分:0)
使用
40 * pow($plvl,2) + (360 * $plvl);
然后它起作用。也许,^运算符不是一个有效的php运算符。
答案 5 :(得分:0)
除了其他答案之外:通常简单的乘法比使用pow
更有效。因此,您应该使用$plvl * $plvl
代替pow($plvl,2)
。