Я использую 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 байта). Когда я запускаю код на сервере моего веб-хоста, это 64-битная система, а размер int вдвое больше.
Есть ли способ заставить "(int)" использовать 32-битный размер?
Например, предположим следующий код:
$test = 4170266799;
print $test;
print (int) $test;
В моей 32-битной системе вывод:
4170266799
-124700497
В моей 64-битной системе вывод:
4170266799
4170266799
Можно ли сделать так, чтобы значение INT было 4 байта, даже если архитектура меняется с 32-разрядной на 64-разрядную?