English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
isset() Die Funktion wird verwendet, um zu überprüfen, ob eine Variable bereits gesetzt und nicht NULL ist.
Wenn eine Variable nach dem Freigeben mit unset() durch isset() überprüft wird, wird FALSE zurückgegeben.
Wenn isset() verwendet wird, um eine Variable zu testen, die auf NULL gesetzt wurde, wird FALSE zurückgegeben.
Zudem ist zu beachten, dass der Null-Buchstabe ("\0") nicht gleich dem PHP-Null-Konstanten ist.
PHP-Versionserfordernis: PHP 4, PHP 5, PHP 7
bool isset ( mixed $var [, mixed $... ] )
Begründung der Parameter:
Wenn mehrere Parameter übergeben werden, gibt isset() nur TRUE zurück, wenn alle Parameter gesetzt sind. Der Berechnungsprozess läuft von links nach rechts, und der Prozess wird sofort gestoppt, wenn auf eine nicht gesetzte Variable gestoßen wird.
Rückgibt TRUE, wenn die angegebene Variable existiert und nicht NULL ist, sonst FALSE.
<?php $var = ''; // Das Ergebnis ist TRUE, daher wird der folgende Text gedruckt. if (isset($var)) { echo "Variable ist gesetzt." . PHP_EOL; } // In den folgenden Beispielen werden wir var_dump verwenden, um den Rückgabewert von isset() auszugeben. // der Rückgabewert von isset(). $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 ?>
Ergebnis der Ausgabe:
Variable ist gesetzt. bool(true) bool(true) bool(false) bool(false) bool(false)
Dies gilt auch für Elemente in Arrays:
<?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 Wert des Schlüssels 'hello' ist NULL, daher wird er als nicht gesetzt angesehen // Wenn Sie NULL-Schlüssel überprüfen möchten, können Sie die folgenden Methoden ausprobieren. var_dump(array_key_exists('hello', $a)); // TRUE // Tieferer Test var_dump(isset($a['pie']['a'])); // TRUE var_dump(isset($a['pie']['b'])); // FALSE var_dump(isset($a['cake']['a']['b'])); // FALSE ?>
Ergebnis der Ausgabe:
bool(true) bool(false) bool(false) bool(true) bool(true) bool(false) bool(false)
PHP 5.4 ändert das Verhalten von isset() bei Stringschiebungen.
<?php $expected_array_got_string = 'somestring'; var_dump(isset($expected_array_got_string['some_key'])); 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'])); ?>
Der obige Beispiel in PHP 5.3 Ausgabe in:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
Der obige Beispiel in PHP 5.4 Ausgabe in:
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)