Signatur
Beschreibung
is_integer() ist ein Alias der Funktion is_int() und prüft, ob der übergebene Wert vom Datentyp int (Integer) ist. Die Funktion gibt true zurück, wenn der Wert ein ganzzahliger Typ ist, andernfalls false.
Im Gegensatz zu einem einfachen Typvergleich mit == berücksichtigt is_integer() den tatsächlichen Datentyp und führt keine implizite Typumwandlung durch. So liefert is_integer("42") false, da es sich um einen String handelt, obwohl der Inhalt eine Ganzzahl darstellt.
Typischerweise wird is_integer() zur Eingabevalidierung eingesetzt, wenn sichergestellt werden muss, dass ein Wert wirklich eine Ganzzahl und kein numerischer String oder Float ist. Da es sich um einen Alias handelt, ist die Verwendung von is_int() oder is_long() gleichwertig – alle drei Varianten sind in PHP verfügbar.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $value Pflicht | mixed | Der zu prüfende Wert. Kann jeden PHP-Datentyp haben. |
Rückgabewert
true zurück, wenn value vom Typ int ist, andernfalls false.Beispiele
Grundlegende Typprüfung mit is_integer()
<?php
var_dump(is_integer(42)); // true – Integer
var_dump(is_integer(-7)); // true – negativer Integer
var_dump(is_integer(3.14)); // false – Float
var_dump(is_integer('42')); // false – String
var_dump(is_integer(true)); // false – Boolean
var_dump(is_integer(null)); // false – null
Eingabevalidierung einer Funktion
<?php
function verarbeiteAlter(mixed $alter): string {
if (!is_integer($alter)) {
return 'Fehler: Alter muss eine ganze Zahl sein.';
}
if ($alter < 0 || $alter > 150) {
return 'Fehler: Alter außerhalb des gültigen Bereichs.';
}
return "Alter ist gültig: $alter Jahre.";
}
echo verarbeiteAlter(25) . PHP_EOL; // gültig
echo verarbeiteAlter('25') . PHP_EOL; // Fehler: String
echo verarbeiteAlter(25.5) . PHP_EOL; // Fehler: Float
echo verarbeiteAlter(-1) . PHP_EOL; // Fehler: Bereich
// Wichtig · Fallstricke
is_integer() ist ein Alias von is_int(), der seinerseits auch den Alias is_long() besitzt. Alle drei Funktionen verhalten sich identisch. Es empfiehlt sich aus Konsistenzgründen, im Projekt einheitlich eine Schreibweise zu verwenden – bevorzugt is_int(), da dieser Name am gebräuchlichsten ist.
Zu beachten: Numerische Strings wie "42" werden nicht als Integer erkannt. Soll geprüft werden, ob ein String eine gültige ganze Zahl enthält, eignet sich stattdessen ctype_digit() oder filter_var($wert, FILTER_VALIDATE_INT).