我以前从未偶然发现过这个问题。通过以下比较得到了什么:
$longest_side = 2.9;
if ($longest_side > 2.9) echo 'Too long'; // Returns true, incorrect
一些调试:
var_dump($longest_side, 2.9) // Displays float(2.9) float(2.9)
使其工作的唯一方法是对值进行字符串化
if ((string)$longest_side > (string)2.9) echo 'Too long'; // Returns false, OK
这是PHP错误还是构造错误?