以下示例打印2147483647
而不是13757966641806459594
$i = '13757966641806459594';
echo (int) $i;
2147483647 是 32 位有符号整数的最大值。在这种情况下,13757966641806459594 的值大于 PHP 可以处理的值。您可以在PHP 手册中阅读有关如何处理溢出的更多信息。
来自PHP 手册:
整数的大小取决于平台,尽管通常值约为 20 亿的最大值(即 32 位有符号)。PHP 不支持无符号整数。自 PHP 4.4.0 和 PHP 5.0.5 起,可以使用常量 PHP_INT_SIZE 确定整数大小,使用常量 PHP_INT_MAX 确定最大值。