Answers:
从PHP手册:
整数的大小取决于平台,尽管通常的最大值约为20亿(32位带符号)。PHP不支持无符号整数。自PHP 4.4.0和PHP 5.0.5起,可以使用常数PHP_INT_SIZE确定整数大小,并使用常数PHP_INT_MAX确定最大值。
64位平台的最大值通常约为9E18,但PHP 7之前的Windows始终为32位。
32位版本的PHP:
64位版本的PHP:
数字包括在内。
注意:某些64位版本曾经使用32位整数,尤其是较旧的Windows版本的PHP
这些范围之外的值由浮点值表示,这些范围内的非整数值也是如此。解释器将基于是否无法将计算结果值表示为整数来自动确定何时需要执行此切换到浮点的操作。
PHP不支持“无符号”整数,因此将所有整数的最大值限制为“有符号”整数的范围。
PHP ints的大小取决于平台:
整数的大小取决于平台,尽管通常的最大值约为20亿(32位带符号)。PHP不支持无符号整数。自PHP 4.4.0和PHP 5.0.5起,可以使用常数PHP_INT_SIZE确定整数大小,并使用常数PHP_INT_MAX确定最大值。
PHP 6添加了“ longs”(64位整数)。
啊,我发现它:2 32 - 1(2147483647)
整数溢出
如果PHP遇到一个超出整数类型范围的数字,它将被解释为浮点数。同样,导致数字超出整数类型范围的运算将改为返回浮点数。
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
它取决于您的操作系统,但根据手册,通常值为2147483647 。