Какое максимальное значение для int в PHP?
игнорируя специальные библиотеки, которые позволяют работать с очень большими числами, какое наибольшее значение int вы можете хранить в PHP?
6 ответов
размер целого числа зависит от платформы, хотя максимум стоимость около двух миллиардов обычное значение (это 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 to 2,147,483,647 (~ ± 2 миллиарда)
64-битные сборки PHP:
- целые числа могут быть с -9,223,372,036,854,775,808 to 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. Кроме того, операция, которая приводит к числу за пределами целочисленного типа, возвращает float.
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
Это зависит от вашей ОС, но 2147483647 является обычным значением, согласно руководство.