isset
Prüft, ob eine Variable existiert und ob sie nicht NULL ist
Beschreibung
bool isset
( mixed $var
[, mixed $...
] )
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.
Parameter-Liste
-
var
-
Die zu überprüfende Variable.
-
var
-
Eine weitere Variable ...
Rückgabewerte
Gibt TRUE zurück, wenn var existiert und einen von
NULL verschiedenen Wert hat, andernfalls FALSE.
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:
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
Warnung
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.