Die Funktion isset() wird verwendet, um zu erkennen, ob eine Variable gesetzt wurde und nicht NULL ist.
Wenn eine Variable mit unset() freigegeben wurde, gibt isset() FALSE zurück.
Wenn isset() verwendet wird, um eine Variable zu testen, die auf NULL gesetzt ist, wird FALSE zurückgegeben.
Beachten Sie außerdem, dass das Nullzeichen („ “) nicht der NULL-Konstante von PHP entspricht.
PHP-Versionsanforderungen: PHP 4, PHP 5, PHP 7
Grammatik
bool isset ( gemischt $var [, gemischt $... ] )
Parameterbeschreibung:
$var: Die zu testende Variable.
Wenn mehrere Parameter gleichzeitig übergeben werden, gibt isset() nur dann TRUE zurück, wenn alle Parameter festgelegt sind. Der Berechnungsprozess erfolgt von links nach rechts und wird sofort gestoppt, wenn eine nicht gesetzte Variable gefunden wird.
Rückgabewert
Gibt TRUE zurück, wenn die angegebene Variable existiert und nicht NULL ist, andernfalls wird FALSE zurückgegeben.
Beispiel
Beispiel
<?php $var = ' ' ; // Das Ergebnis ist WAHR, daher wird der folgende Text gedruckt. Wenn ( isset ( $var ) ) { Echo " Variable ist gesetzt . " PHP_EOL ; // In den folgenden Beispielen verwenden wir var_dump, um den Rückgabewert von isset() auszugeben. // der Rückgabewert von isset(). $a = „ test “ ; $ b = „ othertest “ ; var_dump ( isset ( $ a ) ) ; var_dump ( isset ( $a , $b ) ) ; // TRUE nicht gesetzt ( $a ) ; var_dump ( isset ( $a ) ) ; // FALSCH var_dump ( isset ( $a , $b ) ) ; // FALSCH $ foo = NULL ; var_dump ( isset ( $ foo ) ) ; ?> Die Ausgabe ist:
Die Variable ist gesetzt. bool(true)bool(true)bool(false)bool(false)bool(false)
Dies funktioniert auch für Elemente in einem Array:
Beispiel
<?php $a = Array ( ' test ' = > 1 , ' hello ' = > NULL , ' pie ' = > array ( ' a ' = > ' apple ' ) ) ; // TRUEvar_dump ( isset ( $a [ ' foo ' ] ) ) ; // FALSCH var_dump ( isset ( $a [ ' hello ' ] ) ) ; // FALSCH // Der Wert des Schlüssels „hello“ ist gleich NULL und wird daher als nicht gesetzt betrachtet // Wenn Sie NULL-Schlüsselwerte erkennen möchten, können Sie die folgende Methode ausprobieren. var_dump ( array_key_exists ( ' hello ' , $a ) ) ; // TRUE // Tiefere Erkennung var_dump ( isset ( $a [ ' pie ' ] [ ' a ' ] ) ) ; // TRUE var_dump ( isset ( $a [ ' pie ' ] [ ' b ' ] ) ) ; // FALSCH var_dump ( isset ( $ a [ ' cake ' ] [ ' a ' ] [ ' b ' ] ) ) ) ; ?> Die Ausgabe ist:
bool(true)bool(false)bool(false)bool(true)bool(true)bool(false)bool(false)
Verwendung von isset() mit String-Verschiebung
PHP 5.4 ändert das Verhalten von isset(), wenn ein String-Offset übergeben wird.
Beispiel
<?php $ expected_array_got_string = ' somestring ' ; var_dump ( isset ( $ expected_array_got_string [ ' some_key ' ] ) ) ; var_dump ( isset ( $ expected_array_got_string [ ' 0 ' ] ) ) ; ( $ expected_array_got_string [ 0,5 ] ) ) ; var_dump ( isset ( $ expected_array_got_string [ ' 0,5 ' ] ) ) ; Die Ausgabe des obigen Beispiels in PHP 5.3:
bool(true)bool(true)bool(true)bool(true)bool(true)bool(true)
Die Ausgabe des obigen Beispiels in PHP 5.4:
bool(false)bool(true)bool(true)bool(true)bool(false)bool(false)