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 可以使用从您的字符串
解析的实际值
演示
$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 可以使用从您的字符串
解析的实际值