PHP中int的最大大小是多less?

忽略允许你使用非常大的数字的特殊库,什么是你可以存储在PHP中的最大的int值?

从PHP手册 :

整数的大小是依赖于平台的,尽pipe最大值约为20亿是通常的值(这是32位的)。 PHP不支持无符号整数。 整数大小可以使用常量PHP_INT_SIZE确定,最大值使用自PHP 4.4.0和PHP 5.0.5以来的常量PHP_INT_MAX。

64位平台的最大值通常为9E18,除了PHP 7之前的Windows,其总是32位。

PHP的32位版本:

  • 整数可以从-2,147,483,6482,147,483,647 (~20亿)

PHP的64位版本:

  • 整数可以从-9,223,372,036,854,775,8089,223,372,036,854,775,807 (〜±9 十亿分之一)

数字是包容性的。

注意:一些64位版本曾经使用过32位整数,特别是较早的PHP版本的Windows版本

这些范围之外的值由浮点值表示,这些范围内的非整数值也是如此。 解释器将根据计算的结果值是否不能表示为整数来自动确定何时需要进行浮点切换。

PHP不支持“无符号”整数,将所有整数的最大值限制为“有符号”整数的范围。

PHP 平台的大小取决于平台 :

整数的大小是依赖于平台的,尽pipe最大值约为20亿是通常的值(这是32位的)。 PHP不支持无符号整数。 整数大小可以使用常量PHP_INT_SIZE确定,最大值使用自PHP 4.4.0和PHP 5.0.5以来的常量PHP_INT_MAX。

PHP 6增加了“longs”(64位整数)。

(有点晚,但可能会有用)

只信任PHP_INT_MAX和PHP_INT_SIZE ,这个值在您的拱形(32/64位)和您的操作系统上有所不同。

任何其他“猜测”或“提示”都可能是错误的。

啊我发现了:2 32 – 1(2147483647)

http://au2.php.net/int

整数溢出

如果PHP遇到超出整数types范围的数字,它将被解释为float。 此外,导致超出整数types范围的数字的操作将返回一个浮点数。

<?php $large_number = 2147483647; var_dump($large_number); // output: int(2147483647) $large_number = 2147483648; var_dump($large_number); // output: float(2147483648) 

这取决于您的操作系统,但根据手册 ,2147483647是通常的价值。