(PHP 4, PHP 5, PHP 7, PHP 8)
empty — Prüft, ob eine Variable leer ist
Prüft, ob eine Variable leer ist. Eine Variable ist leer, wenn sie nicht
existiert oder wenn ihr Wert gleich false
ist. empty()
erzeugt keine Warnung, wenn die Variable nicht existiert.
var
Die zu prüfende Variable.
Es wird keine Warnung erzeugt, wenn die Variable nicht existiert. Das bedeutet, dass empty() im Wesentlichen das kurzgefasste Äquivalent zu !isset($var) || $var == false ist.
Gibt true
zurück, wenn var
nicht existiert oder einen
Wert hat, der leer oder gleich Null ist, auch bekannt als "falsey". Siehe
Umwandlung in boolean.
Andernfalls wird false
zurückgegeben.
Beispiel #1 Ein einfacher Vergleich von empty() / isset()
<?php
$var = 0;
// true, weil $var leer ist
if (empty($var)) {
echo '$var ist 0, nicht mit einem Wert belegt, oder nicht gesetzt';
}
// true, weil $var gesetzt wurde
if (isset($var)) {
echo '$var ist gesetzt, obwohl es leer ist';
}
?>
Beispiel #2 empty() und Zeichenketten-Offsets
<?php
$expected_array_got_string = 'einstring';
var_dump(empty($expected_array_got_string['ein_schluessel']));
var_dump(empty($expected_array_got_string[0]));
var_dump(empty($expected_array_got_string['0']));
var_dump(empty($expected_array_got_string[0.5]));
var_dump(empty($expected_array_got_string['0.5']));
var_dump(empty($expected_array_got_string['0 Mostel']));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)
Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen oder benannten Parametern verwenden.
Hinweis:
Bei Aufruf von empty() auf nicht öffentliche Objekteigenschaften wird die überladene Methode __isset() aufgerufen, falls deklariert.