我遇到了这个奇怪的PHP运算符评估,我看不出为什么会发生这种情况
$By=0.52;
$Vi=38;
$Bx= 37.48;
$Zi=0;
var_dump($By >= ($Vi-$Bx-$Zi));
我得到了
boolean false
但是从
开始$By = 0.52
$Vi-$Bx-$Zi = 0.52
所以$By >= ($Vi-$Bx-$Zi)
应该是true
,因为运营商是"> ="
如在php doc $a >= $b Greater than or equal to TRUE if $a is greater than or equal to $b.
为什么会这样?
var dump
array(7) {
["$Bx"]=>
float(37.48)
["($Vi-$Zi)"]=>
int(38)
["$By"]=>
float(0.52)
["($Vi-$Bx-$Zi)"]=>
float(0.52)
["$Bx<($Vi-$Zi)"]=>
bool(true)
["$By>=($Vi-$Bx-$Zi)"]=>
bool(false)
["($Bx<($Vi-$Zi) && $By>=($Vi-$Bx-$Zi))"]=>
bool(false)
}