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

Der Unterschied zwischen PHP isset() und empty()

(*-*)浩
Freigeben: 2023-02-25 21:50:01
Original
2009 Leute haben es durchsucht

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.

Der Unterschied zwischen PHP isset() und empty()

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&#39;s empty .":print "It&#39;s $id .";
      //结果:It&#39;s 0 .
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage