Heim > Artikel > Backend-Entwicklung > Der Unterschied zwischen PHP empty(), isset() und is_null()
Es gab viele Diskussionen über die Verwendung der PHP-Funktionen empty(), isset() und is_null() und viele Informationen sind möglicherweise nicht ganz klar. Ich wiederhole es hier noch einmal, aber anstatt von Konzepten zu sprechen, sollte es tiefergehend sein, es sich direkt anhand von Programmbeispielen einzuprägen.
Die Arten von Tests sind wie folgt:
<?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?>
empty()
Der erste ist die var_dump-Ausgabe von empty:
<?php var_dump(empty($a)); var_dump(empty($b)); var_dump(empty($c)); var_dump(empty($d)); var_dump(empty($e)); var_dump(empty($f)); ?>
Programmausgabe Es ist:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
Wie aus dem Code ersichtlich ist, gibt empty() true aus, solange der Datentyp leer oder falsch ist.
isset()
Sehen Sie sich die Ausgabe von isset an:
var_dump(isset($a)); var_dump(isset($b)); var_dump(isset($c)); var_dump(isset($d)); var_dump(isset($e)); var_dump(isset($f)); // 输出 bool(false) bool(true) bool(true) bool(true) bool(false) bool(true)
Es ist ersichtlich, dass isset() nur verwendet werden kann Bestimmen Sie, ob es NULL und undefiniert ist.
is_null()
Schließlich ist die Ausgabe von is_null:
var_dump(is_null($a)); var_dump(is_null($b)); var_dump(is_null($c)); var_dump(is_null($d)); var_dump(is_null($e)); var_dump(is_null($f)); // 输出 bool(true) bool(false) bool(false) bool(false) bool(true) bool(false)
is_null bedeutet es wörtlich.
Es ist ersichtlich, dass empty() verwendet werden kann, um zu bestimmen, ob alle Datentypen leer oder falsch sind, während is_null im Grunde dasselbe wie isset ist und nur verwendet werden kann, um zu bestimmen, ob es NULL ist und undefiniert