Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen PHP isset() und empty()

Der Unterschied zwischen PHP isset() und empty()

不言
不言Original
2018-05-08 16:34:061615Durchsuche

Dieser Artikel stellt hauptsächlich den Unterschied zwischen PHP isset() und empty() vor. Jetzt kann ich ihn mit Ihnen teilen.

PHP Beim Programmieren einer Seite verwende ich häufig die Variablenverarbeitungsfunktion, um festzustellen, ob ein Variablenwert am Ende der PHP-Seite leer ist. Am Anfang war ich es gewohnt, die Funktion empty() zu verwenden, stellte jedoch einige Probleme fest Ich habe auf die Funktion isset() umgestellt. Kein Problem mehr.

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 machen: Wenn ein Variablenwert gleich 0 ist, ist empty () auch wahr (True), sodass einige Unfälle auftreten. Es stellt sich heraus, dass empty () und isset () zwar Variablenverarbeitungsfunktionen sind, aber beide verwendet werden, um zu bestimmen, ob die Variable konfiguriert wurde. Sie weisen jedoch bestimmte Unterschiede auf: empty erkennt auch, ob die Variable konfiguriert ist ist leer oder nicht. 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, wenn $id=0 ist, verwenden Sie empty() und isset(), um zu erkennen, ob die Variable $id konfiguriert wurde. Beide werden zurückgegeben verschiedene Werte - — empty() geht davon aus, dass keine Konfiguration vorliegt, isset() kann den Wert von $id erhalten:

 $id=0;
 empty($id)?print "It's empty .":print "It's $id ."; 
  //结果:It's empty .
 print "
";
 !isset($id)?print "It's empty .":print "It's $id .";
  //结果:It's 0 .

Das bedeutet, wann Wir verwenden die Variablenverarbeitungsfunktion, wenn diese Variable den Wert 0 haben kann. Seien Sie also vorsichtig, wenn Sie empty() verwenden. In diesem Fall wäre es klüger, sie durch isset zu ersetzen.

Wenn der URL-Endparameter einer PHP-Seite id=0 erscheint (zum Beispiel: test.php?id=0), versuchen Sie zu vergleichen:

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

Um über ihre Verbindung zu sprechen, ist der gemeinsame Punkt, dass beide leer sind () und isset() sind Die Funktion der Variablenverarbeitungsfunktion besteht darin, festzustellen, ob die Variable konfiguriert wurde. Gerade aufgrund ihrer großen Ähnlichkeit im Prozess der Variablenverarbeitung besteht kein ausreichendes Verständnis ihrer Beziehung. Wenn Sie nur die beiden Funktionen empty() und isset() selbst betrachten, werden die Leute verwirrter. Betrachten Sie es aus einem anderen Blickwinkel. Die Verarbeitungsobjekte von empty() und isset() sind nichts anderes als undefinierte Variablen, 0 und leere Strings.

Wenn die Variable 0 ist, gibt empty() TRUE und isset() TRUE zurück; Wenn die Variable eine leere Zeichenfolge ist, gibt empty() TRUE zurück, isset() gibt

zurück. Wenn die Variable undefiniert ist, wird empty() zurückgegeben Gibt TRUE zurück, isset() gibt FLASE zurück;

Die Erklärung von empty() im Handbuch lautet wie folgt: Beschreibung bool empty( gemischte Variable)Wenn var ein nicht leerer Wert oder ein Wert ungleich Null ist, gibt empty() FALSE zurück. Mit anderen Worten: „“, 0, „0“, NULL, FALSE, array(), var $var; und Objekte ohne Eigenschaften werden als leer betrachtet und TRUE wird zurückgegeben, wenn var leer ist.

Die Erklärung von isset() im Handbuch lautet wie folgt:

isset() erkennt, ob eine Variable gesetzt ist Description bool isset ( Mixed var [, Mixed var [, ...]] )Gibt TRUE zurück, wenn var existiert, andernfalls FALSE.

Wenn eine Variable mit unset() freigegeben wurde, ist sie nicht mehr isset(). Wenn Sie isset() verwenden, um eine Variable zu testen, die auf NULL gesetzt ist, wird FALSE zurückgegeben. Beachten Sie außerdem, dass ein NULL-Byte ("

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn