Antworten:
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.
Die Größe von PHP-Ints ist plattformabhängig :
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.
PHP 6 fügt "Longs" (64-Bit-Ints) hinzu.
(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.
Ah, ich habe es gefunden: 2 32 - 1 (2147483647)
Ganzzahliger Überlauf
Wenn PHP auf eine Zahl stößt, die über die Grenzen des Integer-Typs hinausgeht, wird sie stattdessen als Float interpretiert. Außerdem gibt eine Operation, die zu einer Zahl führt, die über die Grenzen des Integer-Typs hinausgeht, stattdessen einen Gleitkommawert zurück.
<?php
$large_number = 2147483647;
var_dump($large_number);
// output: int(2147483647)
$large_number = 2147483648;
var_dump($large_number);
// output: float(2147483648)
Dies hängt von Ihrem Betriebssystem ab, aber 2147483647 ist laut Handbuch der übliche Wert .