Sha*_*lam 6 php operating-system
我的操作系统是Windows 7和64位.
现在我运行以下代码:
echo PHP_INT_SIZE;//prints 4
echo PHP_INT_MAX;//prints 2147483647
Run Code Online (Sandbox Code Playgroud)
但我认为它应该是8和(2^63-1)//^ represents power
谁能解释我为什么会这样?
整数大小始终依赖于编译器/解释器/平台(这也适用于其他语言).
对于Windows上的PHP,它根本不支持64位整数,即使硬件和PHP都是64位
在Windows x86_64上,PHP_INT_MAX是2147483647.这是因为在底层的c代码中,long是32位.
x86_64上的Linux使用64位长,因此PHP_INT_MAX将为9223372036854775807.
提示:永远不要对类型能够处理的最大值进行假设,除非您需要确切地运行代码的php版本/平台.