Wenn ich PHP zum Schreiben von Seitenprogrammen verwende, verwende ich häufig Variablenverarbeitungsfunktionen, um festzustellen, ob ein Variablenwert am Ende der PHP-Seite leer ist. Am Anfang war ich es gewohnt, die Funktion empty() zu verwenden, aber ich Es wurden einige Probleme festgestellt. Verwenden Sie stattdessen die Funktion isset(), und das Problem tritt nicht mehr auf.
Wie der Name schon sagt, bestimmt empty(), ob eine Variable „leer“ ist, und isset() bestimmt, ob eine Variable gesetzt wurde.
Es ist dieses sogenannte „wie der Name schon sagt“, das mich zu Beginn dazu veranlasst hat, einige Umwege zu gehen: Wenn ein Variablenwert gleich 0 ist, wird empty() auch wahr (True) sein. , also werden einige Dinge passieren Unfall. (Empfohlenes Lernen: PHP-Video-Tutorial)
Es stellt sich heraus, dass empty() und isset() zwar beide Variablenverarbeitungsfunktionen sind, sie jedoch verwendet werden, um zu bestimmen, ob die Variable konfiguriert wurde. Sie haben jedoch bestimmte Unterschiede: empty erkennt auch, ob die Variable leer oder Null ist. Wenn der Wert einer Variablen 0 ist, geht empty() davon aus, dass die Variable leer ist, was bedeutet, dass sie nicht gesetzt ist.
Um beispielsweise die Variable $id zu erkennen, verwenden Sie empty() und isset(), um zu erkennen, ob die Variable $id konfiguriert wurde. Beide geben unterschiedliche Werte zurück - empty() geht davon aus, dass isset() ohne Konfiguration den Wert von $id erhalten kann:
$id=0; empty($id)?print "It's empty .":print "It's $id ."; //结果:It's empty . print "<br>"; !isset($id)?print "It's empty .":print "It's $id ."; //结果:It's 0 .
Das bedeutet, dass die Variable bei Verwendung der Variablenverarbeitungsfunktion den Wert 0 haben kann Seien Sie vorsichtig, wenn Sie empty() verwenden. Es wäre klüger, es zu diesem Zeitpunkt durch isset zu ersetzen.
Wenn der URL-Endparameter einer PHP-Seite id=0 erscheint (zum Beispiel: test.php?id=0), versuchen Sie einen Vergleich:
if(empty($id)) $id=1; - 若 id=0 ,id 也会为1 if(!isset($id)) $id=1; - 若 id=0 ,id 不会为1
Sie können den folgenden Code separat ausführen um die obige Schlussfolgerung zu erkennen:
if(empty($id)) $id=1; print $id; // 得到 1 if(!isset($id)) $id=1; print $id; //得到 0
Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen PHP isset() und empty(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!