Каково максимальное значение для int в PHP?
игнорируя специальные библиотеки, которые позволяют работать с очень большими числами, какое самое большое значение int вы можете хранить в PHP?
6 ответов:
с PHP manual:
размер целого числа зависит от платформы, хотя максимум стоимость около двух миллиардов обычное значение (это 32-битное знаковое). PHP не поддерживает unsigned целые. Целочисленный размер может быть определяется с помощью константы PHP_INT_SIZE, и максимальное значение с помощью константы PHP_INT_MAX с PHP 4.4.0 и PHP 5.0.5.
64-битные платформы обычно имеют максимальное значение около 9E18, за исключением Windows до PHP 7, где он всегда был 32 бит.
32-битные сборки PHP:
- целые числа могут быть с -2,147,483,648 до 2,147,483,647 (~ ± 2 миллиарда)
64-битные сборки PHP:
- целые числа могут быть с -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 (~ ± 9 квинтиллионов)
числа включительно.
Примечание: некоторые 64-разрядные сборки когда-то использовались 32-разрядные целые числа, особенно старые сборки Windows PHP
значения вне этих диапазонов представлены значениями с плавающей запятой, а также нецелыми значениями в этих диапазонах. Интерпретатор автоматически определит, когда этот переход к плавающей точке должен произойти на основе того, не может ли результирующее значение вычисления быть представлено как целое число.
PHP не поддерживает" беззнаковые " целые числа как таковые, ограничивая максимальное значение все целые числа в диапазоне" знакового " целого числа.
размер PHP intsзависит от платформы:
размер целого числа зависит от платформы, хотя максимум стоимость около двух миллиардов обычное значение (это 32-битное знаковое). PHP не поддерживает unsigned целые. Целочисленный размер может быть определяется с помощью константы PHP_INT_SIZE, и максимальное значение с помощью константы PHP_INT_MAX с PHP 4.4.0 и PHP 5.0.5.
PHP 6 добавляет " longs "(64 бит значения типа int.)
(немного поздно, но может быть полезно)
доверять только PHP_INT_MAX и PHP_INT_SIZE, это значение зависит от вашего arch (32/64 бит) и вашей ОС...
любая другая" догадка "или" подсказка " может быть ложной.
Ах я нашел его: 232 - 1 (2147483647)
переполнение целого числа
Если PHP встречает число, превышающее пределы целого типа, оно будет интерпретировано как поплавок. Кроме того, операция, которая приводит к числу за пределами целочисленного типа, вместо этого возвращает float.
<?php $large_number = 2147483647; var_dump($large_number); // output: int(2147483647) $large_number = 2147483648; var_dump($large_number); // output: float(2147483648)
Это зависит от вашей ОС, но 2147483647-это обычное значение, согласно руководство.