Aktueller Standort: Startseite> Neueste Artikel> Wie vermeiden Sie Fehler, die durch das Array undefinierte Array bei Verwendung der Funktion von KEY_EXISTs verursacht werden? Tipps zur PHP -Fehlerverhütung

Wie vermeiden Sie Fehler, die durch das Array undefinierte Array bei Verwendung der Funktion von KEY_EXISTs verursacht werden? Tipps zur PHP -Fehlerverhütung

gitbox 2025-08-28

Bei der PHP -Entwicklung ist häufig festzustellen, ob bei der Verarbeitung eines Arrays ein Schlüssel vorhanden ist. Die Funktion von Key_Exists () ist normalerweise die erste Wahlfunktion, mit der wir diese Arbeit ausführen können. Ziel ist es, zu überprüfen, ob der angegebene Schlüssel im Array vorhanden ist. Bei Verwendung von KEY_EXISTS () kann dies jedoch zu unnötigen Fehlern oder Warnungen führen, wenn Sie versehentlich das undefinierte Array behandeln. Daher ist es wichtig zu verstehen, wie Array undefinierte Fehler bei der Verwendung von Key_Exists () vermeiden können.

1. KEY_EXISTS () Funktionsgrundlagen

key_exists () ist eine Funktion, die überprüft, ob in einem Array ein bestimmter Schlüsselwert vorliegt. Die grundlegende Syntax ist wie folgt:

 <span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">key_exists</span></span><span> ( </span><span><span class="hljs-keyword">mixed</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> , </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span> )
</span></span>
  • $ KEY : Der zu überprüfende Arrayschlüsselname.

  • $ Array : Zielarray.

Diese Funktion gibt einen booleschen Wert zurück, wahr , dass der Schlüssel existiert, und falsch bedeutet der Schlüssel, der nicht existiert.

2. Häufige Szenarien, die Fehler aufnehmen

In der tatsächlichen Entwicklung können Sie manchmal auf Situationen stoßen, in denen das Array nicht korrekt initialisiert wird oder überhaupt nicht existiert. Zu diesem Zeitpunkt löst das Aufrufen von Key_Exists () direkt eine Warnung aus. Zum Beispiel:

 <span><span><span class="hljs-variable">$key</span></span><span> = </span><span><span class="hljs-string">'name'</span></span><span>;
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">key_exists</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Key exists!"</span></span><span>;
}
</span></span>

Wenn das $ User -Array nicht definiert oder initialisiert ist, wirft PHP einen Fehler wie "undefinierte Variable" oder "Versuch, auf den undefinierten Index des Arrays zuzugreifen".

3.. Wie man Fehler vermeidet, die durch undefinierte Arrays verursacht werden

Um die oben genannten Probleme zu vermeiden, müssen wir sicherstellen, dass das Array vor Verwendung von Key_Exists () ordnungsgemäß initialisiert wurde. Es gibt verschiedene Möglichkeiten, Fehler zu vermeiden:

3.1 Überprüfen Sie, ob das Array definiert ist

Bevor Sie KEY_EXISTS () aufrufen, können Sie zuerst ISSET () oder leer () -Funktionen verwenden, um zu überprüfen, ob das Array definiert ist:

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$user</span></span><span>) &amp;&amp; </span><span><span class="hljs-title function_ invoke__">key_exists</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Key exists!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Array is not defined or key doesn't exist."</span></span><span>;
}
</span></span>

ISSET () prüft, ob die Variable initialisiert wurde und nicht null ist. Wenn das Array undefiniert oder leer ist, gibt ISSET () FALSE zurück, wodurch der Zugriff auf undefinierte Arrays vermieden wird.

3.2 Verwenden Sie Array_key_exists () anstelle von key_exists ()

In PHP namens Array_key_exists () gibt es eine andere sehr ähnliche Funktion, die genauso wie key_exists () funktioniert, aber es wird normalerweise empfohlen, Array_key_exists () zu verwenden, da sie in älteren Versionen von PHP besser kompatibel ist und eine Standardfunktion ist, die in der offiziellen Dokumentation empfohlen wird.

 <span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$user</span></span><span>) &amp;&amp; </span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Key exists!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Array is not defined or key doesn't exist."</span></span><span>;
}
</span></span>

3.3 Sichere Verwendung von Standardwerten

In PHP können wir das verwenden ? Operator (Null Merge Operator), um Standardwerte für undefinierte Array -Elemente bereitzustellen. Dies vermeidet Fehler, wenn sie undefiniert sind:

 <span><span><span class="hljs-variable">$userName</span></span><span> = </span><span><span class="hljs-variable">$user</span></span><span>[</span><span><span class="hljs-variable">$key</span></span><span>] ?? </span><span><span class="hljs-string">'Standardwert'</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$userName</span></span><span>;
</span></span>

Der Zweck dieses Bedieners besteht darin, den Wert zurückzugeben, wenn $ user [$ key] definiert und nicht null ist. Ansonsten geben Sie den 'Standard' zurück.

3.4 Initialisieren Sie das Array

Der unkomplizierteste Weg ist, sicherzustellen, dass Sie vor der Verwendung des Arrays initialisieren. Sie können ein leeres Array für das Array definieren, um zu vermeiden, dass das Initialisierungsvorgang des Arrays versehentlich fehlt:

 <span><span><span class="hljs-variable">$user</span></span><span> = </span><span><span class="hljs-variable">$user</span></span><span> ?? [];  </span><span><span class="hljs-comment">// Wenn$userKeine Definition,Initialisieren Sie ein leeres Array</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">key_exists</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Key exists!"</span></span><span>;
}
</span></span>

3.5 kombinieren array_key_exists () mit leer ()

In einigen Fällen kann leer () verwendet werden, um sicherzustellen, dass Array- oder Array -Elemente nicht leer sind. Sie können die leere () -Funktion kombinieren, um unnötige Fehler weiter zu verhindern:

 <span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$user</span></span><span>) &amp;&amp; </span><span><span class="hljs-title function_ invoke__">array_key_exists</span></span><span>(</span><span><span class="hljs-variable">$key</span></span><span>, </span><span><span class="hljs-variable">$user</span></span><span>)) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Key exists and value is not empty!"</span></span><span>;
}
</span></span>

Diese Methode vermeidet nicht nur undefinierte Arrays, sondern stellt auch sicher, dass die Werte im Array nicht leer sind.

4. Zusammenfassung

Bei Verwendung von KEY_EXISTS () , um Fehler zu vermeiden, die durch undefinierte Arrays verursacht wurden, besteht der Schlüssel darin, sicherzustellen, dass das Array vor dem Betrieb des Arrays korrekt initialisiert wurde, oder um sicherzustellen, dass das Array durch bedingte Beurteilung existiert. Durch die oben genannten Fehlerverhütungstechniken können Sie effektiv vermeiden, die durch undefinierte Arrays verursacht werden und die Robustheit und Wartbarkeit Ihres Codes verbessern.