PHP 在 XAMPP windows 中解析 int 错误

PHP parse int wrong in XAMPP windows

演示

$code = '40001042901';
echo (int)$code; //intval($code) //same

我在 linux (Ubuntu) 上测试结果是 40001042901 但在 windows 上测试结果是 2147483647,这有什么问题吗?

XAMPP1.8.3,PHP5.5.15,Apache 2.4.10 (Win32)

您的 Linux 结果是使用 64 位软件生成的。 Windows 结果来自 32 位软件。这里的区别是一个整数的最大大小,在32位系统中是2147483647。

当您尝试将字符串解析为整数时,该值对于 32 位值来说太大,因此 PHP 使用最大的可用值。

在 64 位系统中,整数可以大得多,因此 PHP 可以使用从您的字符串

解析的实际值