empty
(PHP 4, PHP 5, PHP 7)
empty — Prüft, ob eine Variable einen Wert enthält
Beschreibung
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.
Parameter-Liste
-
var
-
Die zu prüfende Variable.
Hinweis:
Vor PHP 5.5 überprüft empty() nur Variablen, alles andere führt zu einem Parse-Error. Anders gesagt wird folgendes nicht funktionieren: empty(trim($name)). Statt dessen sollte trim($name) == false verwendet werden.
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.
Rückgabewerte
Gibt FALSE
zurück, wenn var
existiert und einen nicht-leeren,
von 0 verschiedenen Wert hat.
Andernfalls wird TRUE
zurück gegeben.
Folgende Werte werden als leer angesehen:
- "" (eine leere Zeichenkette)
- 0 (0 als Integer)
- 0.0 (0 als Fließkommazahl)
- "0" (0 als Zeichenkette)
NULL
FALSE
- array() (ein leeres Array)
Changelog
Version | Beschreibung |
---|---|
5.5.0 |
empty() unterstützt nun Ausdrücke anstatt nur Variablen. |
5.4.0 |
Die Prüfung nicht numerischer Offsets von Zeichenketten gibt |
Beispiele
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 5.4 ändert das Verhalten von empty(), wenn Zeichenketten-Offsets übergeben werden.
<?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 mit PHP 5.3:
bool(false) bool(false) bool(false) bool(false) bool(false) bool(false)
Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.4:
bool(true) bool(false) bool(false) bool(false) bool(true) bool(true)
Anmerkungen
Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.
Hinweis:
Bei Aufruf von empty() auf nicht-öffentliche Objekteigenschaften wird die überladene Methode __isset aufgerufen, falls deklariert.
Siehe auch
- isset() - Prüft, ob eine Variable existiert und ob sie nicht NULL ist
- __isset
- unset() - Löschen einer angegebenen Variablen
- array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert
- count() - Zählt alle Elemente eines Arrays oder etwas in einem Objekt
- strlen() - Ermitteln der String-Länge
- die Tabelle zum Typenvergleich
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-empty.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.