我使用
PHP 5.3.
在我的32位系统上,INT的大小:
print "PHP_INT_MAX: " . PHP_INT_MAX . "\n";
print "PHP_INT_SIZE: " . PHP_INT_SIZE . " bytes (" . (PHP_INT_SIZE * 8) . " bits)\n";
> PHP_INT_MAX:2147483647
> PHP_INT_SIZE:4个字节(32位)
然而,我使用的编码算法的一部分依赖于int是上述大小(4字节)的事实.当我在Web主机的服务器上运行代码时,它是一个64位系统,而int大小是两倍.
有没有办法强制“(int)”转换为使用32位大小?
例如,假设以下代码:
$test = 4170266799;
print $test;
print (int) $test;
在我的32位系统上,输出为:
4170266799
-124700497
在我的64位系统上,输出为:
4170266799
4170266799
即使架构从32位更改为64位,是否可以强制INT的值为4个字节?