Heim >Backend-Entwicklung >PHP-Tutorial >„isset()' vs. „empty()' in PHP: Wann sollte ich die einzelnen Funktionen verwenden?

„isset()' vs. „empty()' in PHP: Wann sollte ich die einzelnen Funktionen verwenden?

Barbara Streisand
Barbara StreisandOriginal
2024-12-16 00:54:10603Durchsuche

`isset()` vs. `empty()` in PHP: When Should I Use Each Function?

isset() vs. empty()

Bei der Programmierung ist es entscheidend, effektiv zu überprüfen, ob Variablen gesetzt sind und gültige Werte haben. Zwei in PHP häufig verwendete Funktionen für diese Prüfungen sind isset() und empty(). In diesem Artikel wird der Unterschied zwischen den beiden untersucht und eine Anleitung zur jeweiligen Verwendung gegeben.

Verwendung von empty()

Die Funktion empty() führt eine umfassende Beurteilung durch, ob eine Variable leer ist. Es prüft nicht nur, ob die Variable existiert (wie isset()), sondern bestimmt auch, ob es sich um einen leeren String, eine Null, einen Nullwert oder ein leeres Array handelt.

Die folgenden Werte werden von leer als leer betrachtet ():

  • "" (leerer String)
  • 0 (ganzzahlige Null)
  • 0.0 (Gleitkomma-Null)
  • "0" (Zeichenfolge Null)
  • NULL
  • FALSE
  • array() (leeres Array)
  • Variablen in einer Klasse deaktivieren

Verwenden isset()

Im Gegensatz zu empty() prüft isset() einfach, ob eine Variable gesetzt ist, unabhängig von ihrem Wert. Wenn der Variablen ein beliebiger Wert zugewiesen wurde, sogar null, gibt isset() true zurück. Dies liegt daran, dass isset() null als gültigen Wert betrachtet.

Wann isset() und empty() verwendet werden sollten

Die Wahl zwischen isset() und empty() hängt vom spezifischen Bedarf ab . Wenn Sie überprüfen müssen, ob eine Variable explizit gesetzt und nicht leer (einschließlich Null) ist, verwenden Sie empty(). Wenn Sie umgekehrt das bloße Vorhandensein einer Variablen unabhängig von ihrem Wert überprüfen möchten, verwenden Sie isset().

Ein Beispiel

Betrachten Sie den folgenden Code:

$var = '23';
if (isset($var) && !empty($var)){
    echo 'not empty';
} else {
    echo 'is not set or empty';
}
  • In diesem Code prüft isset(), ob $var existiert, während empty() prüft, ob es leer ist. Das Ergebnis wäre „nicht leer“, da $var einen nicht leeren Zeichenfolgenwert enthält.

Wenn andererseits $var auf null gesetzt wäre, würde isset() true zurückgeben (wie es heißt). existiert), aber empty() würde true zurückgeben (da es leer ist).

Fazit:

Die Funktion empty() ist umfassender als isset(), da es sowohl überprüft, ob eine Variable gesetzt ist, als auch deren Leerheit bewertet. Wenn Sie jedoch lediglich prüfen müssen, ob eine Variable unabhängig von ihrem Wert existiert, ist isset() die richtige Wahl.

Das obige ist der detaillierte Inhalt von„isset()' vs. „empty()' in PHP: Wann sollte ich die einzelnen Funktionen verwenden?. 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