PHP -Nummern
In diesem Kapitel werden wir uns eingehender mit ganzen Zahlen, Gleitkommazahlen und Zahlenketten befassen.
PHP-Nummern
Eine Sache, die man bei PHP beachten sollte, ist, dass es eine automatische Datentypkonvertierung bietet.
Wenn Sie also einer Variablen einen ganzzahligen Wert zuweisen, ist der Typ dieser Variablen automatisch eine Ganzzahl. Wenn Sie dann derselben Variablen einen String zuweisen, ändert sich der Typ in einen String.
Diese automatische Konvertierung kann manchmal Ihren Code beschädigen.
PHP-Ganzzahlen
2, 256, -256, 10358, -179567 sind alles ganze Zahlen.
Eine Ganzzahl ist eine Zahl ohne Dezimalstelle.
Ein ganzzahliger Datentyp ist eine Nichtdezimalzahl zwischen -2147483648 und 2147483647 in 32-Bit-Systemen und zwischen -9223372036854775808 und 9223372036854775807 in 64-Bit-Systemen. Ein größerer (oder kleinerer) Wert wird als Gleitkommazahl gespeichert, da er die Grenze einer Ganzzahl überschreitet.
Hinweis: Eine weitere wichtige Sache zu wissen ist, dass selbst wenn 4 * 2,5 10 ist, das Ergebnis als Gleitkommazahl gespeichert wird, da einer der Operanden eine Gleitkommazahl (2,5) ist.
Hier sind einige Regeln für ganze Zahlen:
- Eine ganze Zahl muss mindestens eine Ziffer haben
- Eine Ganzzahl darf KEINEN Dezimalpunkt haben
- Eine ganze Zahl kann entweder positiv oder negativ sein
- Ganzzahlen können in drei Formaten angegeben werden: dezimal (10-basiert), hexadezimal (16-basiert – mit 0x vorangestellt) oder oktal (8-basiert – mit 0 vorangestellt)
PHP hat die folgenden vordefinierten Konstanten für ganze Zahlen:
- PHP_INT_MAX - Die größte unterstützte Ganzzahl
- PHP_INT_MIN - Die kleinste unterstützte Ganzzahl
- PHP_INT_SIZE - Die Größe einer Ganzzahl in Bytes
PHP hat die folgenden Funktionen, um zu prüfen, ob der Typ einer Variablen Integer ist:
- is_int()
- is_integer() - Alias von is_int()
- is_long() - Alias von is_int()
Beispiel
Überprüfen Sie, ob der Typ einer Variablen Integer ist:
<?php
$x = 5985;
var_dump(is_int($x));
$x = 59.85;
var_dump(is_int($x));
?>
PHP-Floats
Ein Float ist eine Zahl mit Dezimalpunkt oder eine Zahl in Exponentialform.
2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 sind alle Floats.
Der Float-Datentyp kann normalerweise einen Wert bis zu 1,7976931348623E+308 (plattformabhängig) speichern und hat eine maximale Genauigkeit von 14 Ziffern.
PHP hat die folgenden vordefinierten Konstanten für Floats (ab PHP 7.2):
- PHP_FLOAT_MAX - Die größte darstellbare Gleitkommazahl
- PHP_FLOAT_MIN - Die kleinste darstellbare positive Fließkommazahl
- - PHP_FLOAT_MAX - Die kleinste darstellbare negative Gleitkommazahl
- PHP_FLOAT_DIG - Die Anzahl der Dezimalstellen, die ohne Genauigkeitsverlust in eine Gleitkommazahl und zurück gerundet werden können
- PHP_FLOAT_EPSILON - Die kleinste darstellbare positive Zahl x, sodass x + 1,0 != 1,0
PHP hat die folgenden Funktionen, um zu prüfen, ob der Typ einer Variable Float ist:
- is_float()
- is_double() - Alias von is_float()
Beispiel
Überprüfen Sie, ob der Typ einer Variablen Float ist:
<?php
$x = 10.365;
var_dump(is_float($x));
?>
PHP Infinity
Ein numerischer Wert, der größer als PHP_FLOAT_MAX ist, wird als unendlich betrachtet.
PHP hat die folgenden Funktionen, um zu prüfen, ob ein numerischer Wert endlich oder unendlich ist:
Die PHP-Funktion var_dump() gibt jedoch den Datentyp und -wert zurück:
Beispiel
Prüfen Sie, ob ein numerischer Wert endlich oder unendlich ist:
<?php
$x = 1.9e411;
var_dump($x);
?>
PHP NaN
NaN steht für Not a Number.
NaN wird für unmögliche mathematische Operationen verwendet.
PHP hat die folgenden Funktionen, um zu prüfen, ob ein Wert keine Zahl ist:
Die PHP-Funktion var_dump() gibt jedoch den Datentyp und -wert zurück:
Beispiel
Eine ungültige Berechnung gibt einen NaN-Wert zurück:
<?php
$x = acos(8);
var_dump($x);
?>
Numerische PHP-Strings
Die PHP-Funktion is_numeric() kann verwendet werden, um herauszufinden, ob eine Variable numerisch ist. Die Funktion gibt true zurück, wenn die Variable eine Zahl oder ein numerischer String ist, andernfalls false.
Beispiel
Prüfen Sie, ob die Variable numerisch ist:
<?php
$x = 5985;
var_dump(is_numeric($x));
$x = "5985";
var_dump(is_numeric($x));
$x = "59.85" + 100;
var_dump(is_numeric($x));
$x = "Hello";
var_dump(is_numeric($x));
?>
Hinweis: Ab PHP 7.0: Die Funktion is_numeric() liefert FALSE für numerische Strings in hexadezimaler Form (zB 0xf4c3b00c), da diese nicht mehr als numerische Strings betrachtet werden.
PHP Casting Strings und Floats in Ganzzahlen
Manchmal müssen Sie einen numerischen Wert in einen anderen Datentyp umwandeln.
Die Funktionen (int), (integer) oder intval() werden häufig verwendet, um einen Wert in eine ganze Zahl umzuwandeln.
Beispiel
Float und String in Integer umwandeln:
<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;
echo "<br>";
// Cast string to int
$x =
"23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>