Heim > Artikel > Backend-Entwicklung > Analysieren Sie den PHP-Datentyp Integer (Integer)
Eine Ganzzahl ist eine Zahl in der Menge ℤ = {..., -2, -1, 0, 1, 2, ...}.
Ganzzahlwerte können dezimal, hexadezimal, oktal oder binär dargestellt werden und können durch ein optionales Symbol (- oder +) vorangestellt werden.
Binär ausgedrückte Ganzzahl verfügbar seit PHP 5.4.0.
Um die oktale Darstellung zu verwenden, muss einer Zahl eine 0 (Null) vorangestellt werden. Um die hexadezimale Darstellung zu verwenden, muss der Zahl 0x vorangestellt werden. Um eine binäre Darstellung zu verwenden, muss der Zahl 0b vorangestellt werden.
Beispiel Nr. 1 GanzzahlTextausdruck
<?php $a = 1234; // 十进制数 $a = -123; // 负数 $a = 0123; // 八进制数 (等于十进制 83) $a = 0x1A; // 十六进制数 (等于十进制 26) ?>
Die formale Beschreibung einer Ganzzahl lautet:
Dezimal: [1-9][0 - 9]*
|. 0
hexadezimal: 0[xX][0-9a-fA-F]+
oktal: 0[0-7]+
binär: 0b[01]+
Ganzzahl: [+-]?dezimal
| [+-]?oktal
|. ?binär
<?php var_dump(01090); // 八进制 010 = 十进制 8 ?>GanzzahlüberlaufWenn eine bestimmte Zahl den Bereich einer Ganzzahl überschreitet, wird sie als
Float interpretiert . Wenn das Ergebnis der Operation den Bereich einer Ganzzahl überschreitet, wird ebenfalls Float zurückgegeben.
Beispiel Nr. 3 Ganzzahlüberlauf unter 32-Bit-System<?php $large_number = 2147483647; var_dump($large_number); // int(2147483647) $large_number = 2147483648; var_dump($large_number); // float(2147483648) $million = 1000000; $large_number = 50000 * $million; var_dump($large_number); // float(50000000000) ?>Beispiel Nr. 4 Ganzzahlüberlauf unter 64-Bit-System
<?php $large_number = 9223372036854775807; var_dump($large_number); // int(9223372036854775807) $large_number = 9223372036854775808; var_dump($large_number); // float(9.2233720368548E+18) $million = 1000000; $large_number = 50000000000000 * $million; var_dump($large_number); // float(5.0E+19) ?>Es gibt keine Ganzzahldivision in PHP
Operator. 1/2 ergibt Float 0,5. Der Wert kann in eine Ganzzahl ohne den Dezimalteil umgewandelt werden oder zur besseren Rundung die Funktion „round()“ verwenden.
In Ganzzahl konvertieren<?php var_dump(25/7); // float(3.5714285714286) var_dump((int) (25/7)); // int(3) var_dump(round(25/7)); // float(4) ?>
einen ganzzahligen Parameter erfordert, wird der Wert automatisch konvertiert. Sie können auch die Funktion intval() verwenden, um einen Wert in einen Ganzzahltyp umzuwandeln. Siehe:
Diskriminierung der Typkonvertierung. Konvertierung von einem booleschen Wert
Konvertierung von
FloatWenn die Gleitkommazahl den Ganzzahlbereich überschreitet (normalerweise +/- 2,15e+9 = 2^31 auf 32-Bit-Plattformen, +/- 9,22e+18 = 2^63 auf 64-Bit-Plattformen). ) ist das Ergebnis undefiniert, da die Genauigkeit nicht ausreicht, um ein exaktes ganzzahliges Ergebnis zu liefern. In diesem Fall gibt es keine Warnung, nicht einmal eine Benachrichtigung!
Warnung
Wechseln Sie niemals einen unbekannten Bruch in eine ganze Zahl um, da dies manchmal zu unvorhersehbaren Ergebnissen führen kann.
Konvertierung von anderen Typen in Ganzzahl ist nicht definiert. Verlassen Sie sich nicht auf bestehende Verhaltensweisen, da diese sich ohne Vorankündigung ändern können.<?php echo (int) ( (0.1+0.7) * 10 ); // 显示 7! ?>
Das obige ist der detaillierte Inhalt vonAnalysieren Sie den PHP-Datentyp Integer (Integer). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!