-1

以下示例打印2147483647而不是13757966641806459594

$i = '13757966641806459594';
echo (int) $i;
4

2 回答 2

6

2147483647 是 32 位有符号整数的最大值。在这种情况下,13757966641806459594 的值大于 PHP 可以处理的值。您可以在PHP 手册中阅读有关如何处理溢出的更多信息。

于 2013-08-06T14:04:36.950 回答
0

来自PHP 手册

整数的大小取决于平台,尽管通常值约为 20 亿的最大值(即 32 位有符号)。PHP 不支持无符号整数。自 PHP 4.4.0 和 PHP 5.0.5 起,可以使用常量 PHP_INT_SIZE 确定整数大小,使用常量 PHP_INT_MAX 确定最大值。

于 2013-08-06T14:05:58.647 回答