如何在64位PHP安装上使用32位整数?

时间:2013-03-21 20:27:33

标签: php int

我的代码在转移到生产时遇到了问题,因为生产服务器是32位,而我的开发机器是64位(我正在运行Kubuntu 12.04 64位)。我的问题是。是否可以在不安装23位版本的PHP的情况下将int强制为32位?允许我选择max int值的那个或库

2 个答案:

答案 0 :(得分:9)

整数是该平台上指针的大小。 (32位PHP - > 32位整数.64位PHP - > 64位整数)。

请注意,当整数运算溢出时,变量将变为浮点数。 PHP documentation解释了所有这些。

我不确定你在代码中做了什么会导致你关心整数的大小。但是,如果您只关心32位的值,则可以始终屏蔽低32位:

$val = $something & 0xFFFFFFFF;

答案 1 :(得分:-1)

$r = $r & 0xFFFFFFFF;
if ($r & 0x80000000)
{
    $r = $r & ~0x80000000;
    $r = -2147483648 + $r;
}