4.3.3 Integer
Casting-Operator (int)
Überprüfung mit is_int()
Im Allgemeinen umfassen Integer den Wertebereich von -2147483648 bis 2147483647, allerdings können auch hexadezimale Zahlen oder Oktalwerte ausgegeben werden. Zahlen, die mit einer 0x
beginnen, werden so automatisch in eine hexadezimale Zahl umgerechnet. Zahlen, die mit einer 0
beginnen, werden so automatisch in einen Oktalwert umgerechnet.
Ausgabe:
Normaler Integer: 42
Hex: 17
Oktal#1: 34
Wenn wir im obigen Beispiel $octal1 = 0815;
schreiben würden, dann würde dies eine Fehlermeldung Parse error: Invalid numeric literal...
erzeugen, da die Ziffer 8 im oktalen Zahlensystem nicht existiert.
Übung
Um eine Eingabe daraufhin zu überprüfen, ob es sich um den Typen Integer handelt, geht man wie im folgenden Code-Beispiel vor. Schreiben Sie zu jeder Zeile, ob die Lösung true
oder false
ist:
A) var_dump(is_int(7));
B) var_dump(is_int(7.8));
C) var_dump(is_int('7'));
D) var_dump(is_int('7.8'));
E) var_dump(is_int(1995e0));
F) var_dump(is_int('0x18'));
G) var_dump(is_int(0x18));
H) var_dump(is_int('echo'));
I) var_dump(is_int(-224));
Lösung zur Aufgabe
A) var_dump(is_int(7));
// Ausgabe: bool(true)
B) var_dump(is_int(7.8));
// Ausgabe: bool(false)
C) var_dump(is_int('7'));
// Ausgabe: bool(false)
D) var_dump(is_int('7.8'));
// Ausgabe: bool(false)
E) var_dump(is_int(1995e0));
// Ausgabe: bool(fales)
F) var_dump(is_int('0x18'));
// Ausgabe: bool(false)
G) var_dump(is_int(0x18));
// Ausgabe: bool(true)
H) var_dump(is_int('echo'));
// Ausgabe: bool(false)
I) var_dump(is_int(-224));
// Ausgabe: bool(true)
Hinweis
Telefonnummern oder Postleitzahlen sollte man einer Variable als Typ String zuweisen, da diese oft mit einer 0
beginnen und ansonsten der Oktalwert oder eine Fehlermeldung (wie oben beschrieben) ausgegeben wird.