Heim > Backend-Entwicklung > PHP-Tutorial > PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist

PHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist

王林
Freigeben: 2024-03-21 21:22:02
nach vorne
588 Leute haben es durchsucht

Die Feststellung, ob ein bestimmter Schlüssel in einem Array in PHP vorhanden ist, ist eines der häufigsten Probleme bei der Programmierung. In PHP können wir die Funktion array_key_exists() verwenden, um festzustellen, ob der angegebene Schlüssel im Array vorhanden ist. Wenn er existiert, gibt er true zurück, andernfalls gibt er false zurück. Mit dieser einfachen Methode können wir leicht feststellen, ob das Array den benötigten Schlüssel enthält, und eine entsprechende logische Verarbeitung durchführen. Werfen wir einen Blick auf die spezifische Implementierungsmethode.

PHP ermittelt, ob der angegebene Schlüssel in einem Array vorhanden ist

:

In php gibt es viele Möglichkeiten, festzustellen, ob ein bestimmter Schlüssel in einem Array vorhanden ist:

1. Verwenden Sie die Funktion isset():

isset($array["key"])
Nach dem Login kopieren

Diese Funktion gibt einen booleschen Wert zurück. Wenn der angegebene Schlüssel vorhanden ist, gibt sie true zurück, andernfalls gibt sie false zurück.

2. Verwenden Sie die Funktion array_key_exists():

array_key_exists("key", $array)
Nach dem Login kopieren

Diese Funktion gibt ebenfalls einen booleschen Wert zurück, erkennt aber im Gegensatz zu isset() keine geerbten Eigenschaften.

3. Verwenden Sie die Funktion in_array() (nicht empfohlen):

in_array("key", array_keys($array))
Nach dem Login kopieren

Die Funktion gibt einen booleschen Wert zurück, konvertiert jedoch die Schlüssel des Arrays in Zeichenfolgen, sodass numerische Tasten möglicherweise nicht erkannt werden.

4. Verwenden Sie die Funktion array_search():

array_search("key", $array)
Nach dem Login kopieren

Diese Funktion gibt den Index des angegebenen Schlüssels im Array zurück. Wenn der Schlüssel nicht existiert, gibt sie „false“ zurück.

5. Verwenden Sie den Operator +=:

$array["key"] += 0;
Nach dem Login kopieren

Wenn der Schlüssel vorhanden ist, erhöht dieser Vorgang den dem Schlüssel entsprechenden Wert um 0, andernfalls wird ein neuer Schlüssel hinzugefügt und sein Wert wird auf 0 gesetzt. Überprüfen Sie dann, ob $array["key"] 0 ist, um festzustellen, ob der Schlüssel vorhanden ist.

6. Verwenden Sie die Funktion empty() (nicht empfohlen):

empty($array["key"])
Nach dem Login kopieren

Diese Funktion gibt einen booleschen Wert zurück. Wenn der Schlüssel nicht existiert oder leer ist, gibt sie true zurück, andernfalls gibt sie false zurück.

Leistungsvergleich:

  • isset() und array_key_exists() funktionieren am besten für große Arrays.
  • in_array() und array_search() schneiden bei kleinen Arrays besser ab.
  • +=-Operator und empty() haben die schlechteste Leistung und werden nicht empfohlen.

Wählen Sie die beste Methode:

Welche Methode zu wählen ist, hängt von der Situation ab:

  • Wenn Sie zwischen einem Schlüssel, der nicht existiert, und einem Schlüssel, der null ist, unterscheiden müssen, verwenden Sie isset().
  • Wenn geerbte Eigenschaften nicht berücksichtigt werden, verwenden Sie array_key_exists().
  • Wenn Sie den Index des Schlüssels erhalten möchten, verwenden Sie array_search().
  • Wenn Sie einen neuen Schlüssel hinzufügen oder mathematische Operationen mit dem Wert eines vorhandenen Schlüssels ausführen müssen, verwenden Sie den Operator +=.

Beispiel:

$array = ["name" => "John", "age" => 30];

if (isset($array["name"])) {
echo "Name exists";
}

if (array_key_exists("age", $array)) {
echo "Age exists";
}

if (array_search("name", $array) !== false) {
echo "Name has index " . array_search("name", $array);
}

$array["hobby"] += 0;
if ($array["hobby"] === 0) {
echo "Hobby does not exist";
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonPHP ermittelt, ob ein angegebener Schlüssel in einem Array vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:lsjlt.com
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