# 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.

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $normal = (int) 42;
    $hexa   = (int) 0x11;
    $octal1 = (int) 042;

    echo "Normaler Integer: $normal <br>";
    echo "Hex: $hexa <br>";
    echo "Oktal#1: $octal1 <br>";

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(false)
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.