Was ist der größte int-Wert, den Sie in PHP speichern können, wenn Sie die speziellen Bibliotheken ignorieren, mit denen Sie mit sehr großen Zahlen arbeiten können?
117
Aus dem PHP-Handbuch :
Die Größe einer Ganzzahl ist plattformabhängig, obwohl ein Maximalwert von etwa zwei Milliarden der übliche Wert ist (das sind 32 Bit Vorzeichen). PHP unterstützt keine vorzeichenlosen Ganzzahlen. Die Ganzzahlgröße kann mit der Konstanten PHP_INT_SIZE und der Maximalwert mit der Konstanten PHP_INT_MAX seit PHP 4.4.0 und PHP 5.0.5 bestimmt werden.
64-Bit-Plattformen haben normalerweise einen Maximalwert von etwa 9E18, außer unter Windows vor PHP 7, wo es immer 32-Bit war.
32-Bit-Builds von PHP:
64-Bit-Builds von PHP:
Zahlen sind inklusive.
Hinweis: Einige 64-Bit-Builds verwendeten einmal 32-Bit-Ganzzahlen, insbesondere ältere Windows-Builds von PHP
Werte außerhalb dieser Bereiche werden durch Gleitkommawerte dargestellt, ebenso wie nicht ganzzahlige Werte innerhalb dieser Bereiche. Der Interpreter bestimmt automatisch, wann diese Umschaltung auf Gleitkomma erfolgen muss, basierend darauf, ob der Ergebniswert einer Berechnung nicht als Ganzzahl dargestellt werden kann.
PHP unterstützt keine "vorzeichenlosen" Ganzzahlen als solche und begrenzt den Maximalwert aller Ganzzahlen auf den Bereich einer "vorzeichenbehafteten" Ganzzahl.
quelle
Die Größe von PHP-Ints ist plattformabhängig :
PHP 6 fügt "Longs" (64-Bit-Ints) hinzu.
quelle
(etwas spät, könnte aber nützlich sein)
Vertrauen Sie nur PHP_INT_MAX und PHP_INT_SIZE . Dieser Wert variiert je nach Arch (32/64 Bit) und Betriebssystem.
Jede andere "Vermutung" oder "Andeutung" kann falsch sein.
quelle
Ah, ich habe es gefunden: 2 32 - 1 (2147483647)
http://au2.php.net/int
quelle
Dies hängt von Ihrem Betriebssystem ab, aber 2147483647 ist laut Handbuch der übliche Wert .
quelle
Obwohl
PHP_INT_*
Konstanten sehr lange existieren, konnten dieselben MIN / MAX-Werte programmgesteuert durch Linksverschiebung bis zum Erreichen der negativen Zahl ermittelt werden:quelle
Es unterliegt der Architektur des Servers, auf dem PHP ausgeführt wird. Für 64-Bit
print PHP_INT_MIN . ", ” . PHP_INT_MAX;
ergibt-9223372036854775808, 9223372036854775807
quelle