isset
(PHP 4, PHP 5, PHP 7)
isset — Prüft, ob eine Variable existiert und ob sie nicht NULL
ist
Beschreibung
Prüft, ob eine Variable existiert und nicht NULL
ist.
Wenn eine Variable mittels unset() zurückgesetzt wird, gilt
sie nicht länger als existent. isset() wird FALSE
zurückgeben, wenn eine überprüfte Variable auf NULL
gesetzt ist. Beachten
Sie außerdem, dass ein Null-Zeichen ("\0") nicht äquivalent
ist zur PHP-Konstante NULL
.
Wenn mehrere Parameter übergeben werden, gibt isset()
nur dann TRUE
zurück, wenn alle Parameter belegt sind. Die Auswertung
geht von links nach rechts und wird abgebrochen, sobald eine Variable
nicht belegt ist.
Rückgabewerte
Gibt TRUE
zurück, wenn var
existiert und einen von
NULL
verschiedenen Wert hat, andernfalls FALSE
.
Changelog
Version | Beschreibung |
---|---|
5.4.0 |
Die Prüfung nicht numerischer Zeichenketten-Offsets gibt nun |
Beispiele
Beispiel #1 isset()-Beispiele
<?php
$var = '';
// Dieser Ausdruck wird zu TRUE ausgewertet, also wird der Text angezeigt
if (isset($var)) {
echo "Die Variable ist gesetzt, also wird etwas ausgegeben.";
}
// In den nächsten Beispielen wird var_dump() benutzt, um den Rückgabewert von
// isset() auszugeben.
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE
$foo = NULL;
var_dump(isset($foo)); // FALSE
?>
Die funktioniert ebenfalls für Arrayelemente:
<?php
$a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple'));
var_dump(isset($a['test'])); // TRUE
var_dump(isset($a['foo'])); // FALSE
var_dump(isset($a['hello'])); // FALSE
// Der Schlüssel 'hello' hat den Wert NULL,
// daher wird sein Inhalt nicht betrachtet
// Wenn man herausfinden willen, ob ein
// Schlüssel mit dem Wert NULL vorhanden
// ist, verwendet man:
var_dump(array_key_exists('hello', $a)); // TRUE
// Tiefer verschachtelte Array-Strukturen prüfen:
var_dump(isset($a['pie']['a'])); // TRUE
var_dump(isset($a['pie']['b'])); // FALSE
var_dump(isset($a['cake']['a']['b'])); // FALSE
?>
Beispiel #2 isset() und Zeichenketten-Offsets
PHP 5.4 ändert das Verhalten von isset(), wenn Zeichenketten-Offsets übergeben werden.
<?php
$expected_array_got_string = 'einstring';
var_dump(isset($expected_array_got_string['ein_schluessel']));
var_dump(isset($expected_array_got_string[0]));
var_dump(isset($expected_array_got_string['0']));
var_dump(isset($expected_array_got_string[0.5]));
var_dump(isset($expected_array_got_string['0.5']));
var_dump(isset($expected_array_got_string['0 Mostel']));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.3:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.4:
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
Anmerkungen
isset() funktioniert nur mit Variablen, da der Aufruf mit etwas anderem einen Parse-Error verursacht. Um zu überprüfen, ob Konstanten gesetzt sind, sollte die Funktion defined() benutzt werden.
Hinweis: Da dies ein Sprachkonstrukt und keine Funktion ist, können Sie dieses nicht mit Variablenfunktionen verwenden.
Hinweis:
Bei Aufruf von isset() auf nicht-öffentliche Objekteigenschaten wird die überladene Methode __isset aufgerufen, falls deklariert.
Siehe auch
- empty() - Prüft, ob eine Variable einen Wert enthält
- __isset
- unset() - Löschen einer angegebenen Variablen
- defined() - Prüft, ob eine benannte Konstante existiert
- die Tabelle zum Typenvergleich
- array_key_exists() - Prüft, ob ein Schlüssel in einem Array existiert
- is_null() - Prüft ob eine Variable NULL enthält
- Fehler-Kontroll-Operator @
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-isset.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.