Wie kann man in PHP zuverlässig auf das Vorhandensein von Variablen prüfen?

Susan Sarandon
Freigeben: 2024-11-02 22:32:03
Original
1045 Leute haben es durchsucht

How to Reliably Check for Variable Existence in PHP?

Zuverlässige Überprüfung der Existenz von Variablen in PHP

Die Funktion isset() wird zwar häufig zum Überprüfen der Existenz von Variablen verwendet, weist jedoch eine Einschränkung auf: Sie berücksichtigt Variablen, die als vorhanden auf NULL gesetzt sind. Dies wirft die Frage auf, wie man das Vorhandensein einer Variablen in PHP zuverlässig bestimmen kann.

Ein Ansatz besteht darin, isset() mit is_null() zu kombinieren:

<code class="php">if (isset($v) || @is_null($v))</code>
Nach dem Login kopieren

Diese Methode bleibt jedoch problematisch auf das Verhalten von is_null() mit nicht gesetzten Variablen.

Eine andere Option ist die Verwendung des @($v === NULL)-Vergleichs. Dies verhält sich jedoch auch wie is_null().

Für einen zuverlässigeren Ansatz sollten Sie die Verwendung von array_key_exists() in Betracht ziehen. Diese Funktion funktioniert sowohl für globale Variablen als auch für Arrays korrekt:

<code class="php">$a = NULL;
var_dump(array_key_exists('a', $GLOBALS)); // true
var_dump(array_key_exists('b', $GLOBALS)); // false</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann man in PHP zuverlässig auf das Vorhandensein von Variablen prüfen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage