Ответы:
Из руководства PHP :
Размер целого числа зависит от платформы, хотя максимальное значение около двух миллиардов является обычным значением (это 32 бита со знаком). PHP не поддерживает целые числа без знака. Целочисленный размер можно определить с помощью константы PHP_INT_SIZE, а максимальное значение - с помощью константы PHP_INT_MAX, начиная с PHP 4.4.0 и PHP 5.0.5.
64-битные платформы обычно имеют максимальное значение около 9E18, за исключением Windows до PHP 7, где оно всегда было 32-битным.
32-битные сборки PHP:
64-битные сборки PHP:
Цифры указаны включительно.
Примечание: некоторые 64-разрядные сборки когда-то использовали 32-разрядные целые числа, особенно старые сборки PHP для Windows.
Значения вне этих диапазонов представлены значениями с плавающей запятой, как и нецелые значения в этих диапазонах. Интерпретатор автоматически определит, когда должно произойти переключение на плавающую точку, в зависимости от того, не может ли результирующее значение вычисления быть представлено как целое число.
PHP не поддерживает «беззнаковые» целые числа как таковые, ограничивая максимальное значение всех целых чисел диапазоном «подписанных» целых чисел.
Размер ints PHP зависит от платформы :
Размер целого числа зависит от платформы, хотя максимальное значение около двух миллиардов является обычным значением (это 32 бита со знаком). PHP не поддерживает целые числа без знака. Целочисленный размер можно определить с помощью константы PHP_INT_SIZE, а максимальное значение - с помощью константы PHP_INT_MAX, начиная с PHP 4.4.0 и PHP 5.0.5.
PHP 6 добавляет "длинные" (64-битные целые числа).
(немного поздно, но может быть полезно)
Доверяйте только PHP_INT_MAX и PHP_INT_SIZE , это значение зависит от вашей архитектуры (32/64 бит) и вашей ОС ...
Любая другая «догадка» или «намек» может быть ложной.
А вот нашел: 2 32 - 1 (2147483647)
Целочисленное переполнение
Если PHP встречает число за пределами целочисленного типа, оно будет интерпретировано как число с плавающей запятой. Кроме того, операция, результатом которой является число, выходящее за пределы целочисленного типа, вместо этого вернет число с плавающей запятой.
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
Это зависит от вашей ОС, но 2147483647 - обычное значение, согласно руководству .