Pomijając specjalne biblioteki, które pozwalają na pracę z bardzo dużymi liczbami, jaka jest największa wartość int, jaką możesz przechowywać w PHP?
117
Z podręcznika PHP :
Rozmiar liczby całkowitej jest zależny od platformy, chociaż zwykle przyjmuje się maksymalną wartość około dwóch miliardów (czyli 32 bity ze znakiem). PHP nie obsługuje liczb całkowitych bez znaku. Rozmiar całkowity można określić za pomocą stałej PHP_INT_SIZE, a maksymalną wartość za pomocą stałej PHP_INT_MAX od PHP 4.4.0 i PHP 5.0.5.
Platformy 64-bitowe zwykle mają maksymalną wartość około 9E18, z wyjątkiem systemu Windows przed PHP 7, gdzie zawsze była to wersja 32-bitowa.
32-bitowe wersje PHP:
64-bitowe wersje PHP:
Liczby są włącznie.
Uwaga: niektóre wersje 64-bitowe kiedyś używały 32-bitowych liczb całkowitych, szczególnie starsze wersje PHP dla systemu Windows
Wartości spoza tych zakresów są reprezentowane przez wartości zmiennoprzecinkowe, podobnie jak wartości niecałkowite w tych zakresach. Interpreter automatycznie określi, kiedy musi nastąpić przełączenie na zmiennoprzecinkowe, w oparciu o to, czy wartość wyniku obliczenia nie może być reprezentowana jako liczba całkowita.
PHP nie obsługuje liczb całkowitych bez znaku jako takich, ograniczając maksymalną wartość wszystkich liczb całkowitych do zakresu liczby całkowitej ze znakiem.
źródło
Rozmiar int PHP zależy od platformy :
PHP 6 dodaje „długie” (64-bitowe liczby int).
źródło
(trochę późno, ale może się przydać)
Ufaj tylko PHP_INT_MAX i PHP_INT_SIZE , ta wartość różni się w zależności od Twojego arch (32/64 bity) i systemu operacyjnego ...
Wszelkie inne „domysły” lub „podpowiedzi” mogą być fałszywe.
źródło
Ach, znalazłem to: 2 32 - 1 (2147483647)
http://au2.php.net/int
źródło
To zależy od twojego systemu operacyjnego, ale 2147483647 jest zwykłą wartością, zgodnie z instrukcją .
źródło
Chociaż
PHP_INT_*
stałe istnieją przez bardzo długi czas, te same wartości MIN / MAX można znaleźć programowo, przesuwając w lewo aż do osiągnięcia liczby ujemnej:źródło
Podlega architekturze serwera, na którym działa PHP. Wersja 64-bitowa
print PHP_INT_MIN . ", ” . PHP_INT_MAX;
plony-9223372036854775808, 9223372036854775807
źródło