在我的机器上,
这意味着在64位机器上,
PHP_INT_SIZE
是8
,但是pack('i',1)
返回的仍然是一个4字节的字符串。
文档中说i
是一个"有符号整数(与机器相关的大小和字节顺序)",但这似乎并不正确。它固定为4个字节吗?这意味着在64位机器上,
unpack('i',pack('i',PHP_INT_MAX))[1] !== PHP_INT_MAX
,因为一半的数据被截断了。
PHP_INT_SIZE
,即使这是每个人都期望的。 - Holt