如何在PHP中使用64位整数?

问题描述 投票:57回答:5

如何在PHP中使用64位整数?

似乎不是通过配置文件,而是可能是编译时选项,并且取决于平台。

php 64-bit integer
5个回答
76
投票

本机64位整数需要64位硬件和PHP的64位版本。

在32位硬件上:

$ php -r 'echo PHP_INT_MAX;'
2147483647

在64位硬件上:

$ php -r 'echo PHP_INT_MAX;'
9223372036854775807

53
投票

UPDATE:现在可以了(在Windows 8.1 Amd Quad Core上测试。)>

注意,即使硬件和PHP都是64位,Windows上的PHP也不支持64位整数。有关详情,请参见this link

在Windows x86_64上,PHP_INT_MAX为2147483647。这是因为在基本的C代码,长为32位。

但是,x86_64上的linux使用64位长,因此PHP_INT_MAX将是9223372036854775807。


10
投票

也许您可以使用GMPBCMath扩展名。


9
投票

PHP int的大小取决于平台。有一个名为unpack()的函数,该函数实际上允许将不同类型的数据从二进制字符串转换为PHP变量。存储为64位似乎是将其存储为字符串的唯一方法。


5
投票

现在您应该获得PHP 7-完全一致的64位支持。不仅整数,而且所有fstat,IO等也是如此。Windows上的PHP 7是真正的64位。

© www.soinside.com 2019 - 2024. All rights reserved.