php documentation声明:
如果PHP遇到超出整数类型边界的数字,那么 将被解释为浮动。
所以我确定了整数最大值
echo PHP_INT_MAX;
并得到2147483647。
我用
测试了这个陈述 echo PHP_INT_MAX + PHP_INT_MAX;
并得到了4294967294。
因为我超过整数的最大值,这不应该是浮点数吗?
答案 0 :(得分:2)
你正在回应结果,所以它已被强制转换为字符串。
这可能会有所帮助:
$result = PHP_INT_MAX;
echo gettype($result); // prints "integer"
$result2 = $result + $result;
echo gettype($result2); // prints "double"
答案 1 :(得分:0)
它实际上是 double ,它比单个精度数字(浮点数)更精确。这可以验证:
echo gettype(PHP_INT_MAX + PHP_INT_MAX);
回声:double