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