Я использую 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-разрядной?