Heim > Backend-Entwicklung > PHP-Tutorial > Was ist der Zweck von isset () und leer () in PHP?

Was ist der Zweck von isset () und leer () in PHP?

Karen Carpenter
Freigeben: 2025-03-19 11:44:27
Original
992 Leute haben es durchsucht

Was ist der Zweck von isset () und leer () in PHP?

Die Funktionen von isset() und empty() in PHP dienen unterschiedlichen Zwecken im Zusammenhang mit variabler Handhabung und Bewertung.

  • ISSET () : Die Funktion isset() wird verwendet, um festzustellen, ob eine Variable festgelegt und nicht null ist. Es gibt true zurück, wenn die Variable existiert und einen anderen Wert als NULL hat. Andernfalls gibt sie false zurück. Diese Funktion ist besonders nützlich für die Überprüfung, ob eine Variable vor dem Versuch initialisiert wurde, sie zu verwenden, was dazu beitragen kann, Hinweise zu undefinierten Variablen zu verhindern.
  • leer () : Die Funktion empty() prüft, ob eine Variable leer ist. Eine Variable wird als leer angesehen, wenn sie nicht existiert oder wenn ihr Wert FALSE ist. Dies umfasst "" (eine leere Zeichenfolge), 0 (Ganzzahl oder Float), 0.0 , "0" , NULL , FALSE , ein leeres Array array() oder eine Variable, die in einer Klasse ohne Wert deklariert ist. Die Funktion empty() ist nützlich, um die Benutzereingabe zu validieren oder zu überprüfen, ob eine Variable einen Wert hat, der als nicht leer angesehen werden kann.

Was sind die wichtigsten Unterschiede zwischen Isset () und leer () in PHP?

Die wichtigsten Unterschiede zwischen isset() und empty() in PHP konzentrieren sich auf das, was sie bewerten und wie sie verschiedene Arten von Werten behandeln:

  • Bewertung der Existenz : isset() prüft die Existenz einer Variablen und ob es sich NULL handelt, während empty() einen Schritt weiter geht, um die "Wahrheit" des Wertes der Variablen zu bewerten.
  • Behandlung der Werte :

    • isset() kehrt für eine Variable true , die existiert und nicht NULL ist, auch wenn es sich um eine leere Zeichenfolge, 0 oder ein leeres Array handelt.
    • empty() wird für diese Werte ( "" , 0 , NULL , FALSE usw.) true zurückgegeben, weil sie als "leer" oder gleichbedeutend mit FALSE angesehen werden.
  • Rückgabewerte für bestimmte Fälle :

    • isset($var) gibt false zurück, wenn $var nicht festgelegt oder NULL ist.
    • empty($var) gibt true zurück, wenn $var nicht eingestellt, NULL oder "leer" Wert gesetzt ist. Ansonsten kehrt es false zurück.

Wie kann ich ISSet () und leer () in PHP effektiv verwenden, um die variablen Zustände zu überprüfen?

Effektiv unter Verwendung isset() und empty() in PHP beinhaltet das Verständnis ihrer spezifischen Rollen bei der Bewertung von variablen Zuständen:

  • Mit isset() :

    • Verwenden Sie isset() um zu überprüfen, ob eine Variable festgelegt wurde, bevor Sie versuchen, sie zu verwenden. Dies ist besonders nützlich, wenn Sie mit Formularen und Benutzereingaben arbeiten, um sicherzustellen, dass die erwarteten Daten vorhanden sind.

       <code class="php">if (isset($_POST['username'])) { // Safe to use $_POST['username'] }</code>
      Nach dem Login kopieren
    • Kombinieren Sie isset() mit anderen Bedingungen, um sicher auf verschachtelte Array -Elemente zuzugreifen.

       <code class="php">if (isset($array['key1']['key2'])) { // Access $array['key1']['key2'] }</code>
      Nach dem Login kopieren
  • Verwenden Sie empty() :

    • Verwenden Sie empty() um zu überprüfen, ob eine Variable "leer" oder FALSE ist, was die bedingten Überprüfungen vereinfachen kann.

       <code class="php">if (empty($var)) { // $var is considered empty }</code>
      Nach dem Login kopieren
    • empty() ist besonders nützlich, um Benutzereingaben zu validieren oder optionale Parameter zu überprüfen.

       <code class="php">if (!empty($_POST['email'])) { // Email field is not empty and can be processed }</code>
      Nach dem Login kopieren

Welche häufigen Fehler sollten ich vermeiden, wenn ich ISSet () und leer () in PHP benutze?

Bei der Verwendung isset() und empty() in PHP sollten mehrere häufige Fehler vermieden werden, um sicherzustellen, dass Ihr Code wie beabsichtigt funktioniert:

  • Angenommen, isset() und empty() sind austauschbar : Sie sind es nicht. isset() prüft nach Existenz und Nicht-Null-Zustand einer Variablen, während empty() die "Wahrheit" der Variablen überprüft. Die Verwendung von austauschbar kann zu Logikfehlern führen.
  • Nicht korrekt prüfen : Wenn Sie sich mit Arrays befassen, stellen Sie sicher, dass Sie isset() korrekt verwenden, um nach verschachtelten Schlüssel zu überprüfen.

    • Falsch: if (isset($array)) wenn Sie $array['key'] überprüfen wollten.
    • Richtig: if (isset($array['key'])) .
  • Mit Blick auf die empty() gotchas : Denken Sie daran, dass empty() 0 ", "" und "0" als leer betrachtet, was möglicherweise nicht das ist, was Sie in numerischen oder String -Vergleiche beabsichtigen.

    • Falsch: Verwenden Sie empty() um zu überprüfen, ob ein Benutzer eine gültige numerische ID eingegeben hat, die möglicherweise 0 ist.
    • Richtig: Verwenden Sie eine bestimmte Prüfung, wie if ($_POST['id'] === '0' || $_POST['id'] > 0) .
  • Vernachlässigung von Leistungsüberlegungen : Während beide Funktionen im Allgemeinen schnell sind, können übergebrauchte oder verschachtelte Schecks die Leistung beeinflussen. Achten Sie auf die Anzahl der Überprüfungen und ihre Komplexität, insbesondere in Schleifen oder mit großen Datensätzen.

Durch das Verständnis und die Vermeidung dieser gemeinsamen Fallstricke können Sie in Ihrem PHP -Code eine effektive Verwendung von isset() und empty() verwenden.

Das obige ist der detaillierte Inhalt vonWas ist der Zweck von isset () und leer () in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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