Heim  >  Artikel  >  Backend-Entwicklung  >  So suchen Sie in PHP nach einem bestimmten Wert in einem Array und geben bei Erfolg den ersten entsprechenden Schlüssel zurück

So suchen Sie in PHP nach einem bestimmten Wert in einem Array und geben bei Erfolg den ersten entsprechenden Schlüssel zurück

WBOY
WBOYnach vorne
2024-03-19 16:30:07401Durchsuche

Bei der PHP-Entwicklung ist es oft notwendig, nach einem bestimmten Wert in einem Array zu suchen und den entsprechenden Schlüsselnamen zurückzugeben. Diese Funktion kann über die Funktion array_search in PHP erreicht werden. Die Funktion array_search durchsucht ein Array nach einem bestimmten Wert und gibt den ersten entsprechenden Schlüssel zurück. Wenn die Suche erfolgreich ist, wird der Schlüsselname zurückgegeben, andernfalls wird false zurückgegeben. Diese Funktion ist sehr praktisch und kann Entwicklern dabei helfen, die Position eines bestimmten Werts im Array schnell zu finden und die Codeeffizienz zu verbessern. Als Nächstes stellen wir detailliert vor, wie die Funktion array_search in PHP zum Implementieren der Array-Suchfunktion verwendet wird.

Verwenden Sie die Funktion in_array()

Mit der Funktion

in_array() wird überprüft, ob der angegebene Wert im Array erscheint. Es gibt true zurück, wenn eine Übereinstimmung gefunden wird, andernfalls false. Um den Schlüsselnamen einer Übereinstimmung zu erhalten, können Sie die folgende Syntax verwenden:

$key = array_search($value, $array, $strict = false);
  • $value: Der Wert, nach dem gesucht werden soll.
  • $array: Das zu durchsuchende Array.
  • $strict = false: (optional) Gibt an, ob strenge Vergleiche durchgeführt werden sollen. Bei „true“ müssen sowohl Typen als auch Werte übereinstimmen.

Zum Beispiel:

$array = ["apple", "banana", "orange"];

$key = array_search("banana", $array);
if ($key !== false) {
echo "键名:$key";
}

Ausgabe:

键名:1

Verwenden Sie die Funktion array_keys()

Die Funktion

array_keys() gibt ein Array aller Schlüssel im Array zurück. Um nach einem bestimmten Wert zu suchen, können Sie die folgende Syntax verwenden:

$keys = array_keys($array, $value, $strict = false);
  • $array: Das zu durchsuchende Array.
  • $value: Der Wert, nach dem gesucht werden soll.
  • $strict = false: (optional) Gibt an, ob strenge Vergleiche durchgeführt werden sollen. Bei „true“ müssen sowohl Typen als auch Werte übereinstimmen.

Wenn eine Übereinstimmung gefunden wird, gibt array_keys() ein Array zurück, das die entsprechenden Schlüsselnamen enthält. Andernfalls wird ein leeres Array zurückgegeben.

Zum Beispiel:

$array = ["apple" => "red", "banana" => "yellow", "orange" => "orange"];

$keys = array_keys($array, "yellow");
if (count($keys) > 0) {
echo "键名:";
foreach ($keys as $key) {
echo "$key ";
}
}

Ausgabe:

键名:banana

Andere Optionen

Zusätzlich zu den oben genannten Methoden gibt es noch weitere Möglichkeiten, nach Werten in einem Array zu suchen:

  • foreach-Schleife: Durchlaufen Sie das Array und vergleichen Sie es mit den Operatoren == oder ===.
  • array_filter(): Erstellen Sie ein neues Array, das alle Elemente enthält, die die angegebenen Kriterien erfüllen.
  • array_map(): Wenden Sie eine Rückruffunktion auf jedes Element im Array an und geben Sie den Schlüsselnamen zurück, wenn eine Übereinstimmung gefunden wird.

Leistungshinweise

Bei sehr großen Arrays kann die Suche nach Werten im Array langsam werden. Um die Leistung zu verbessern, können Sie die folgenden Tipps nutzen:

  • Verwenden Sie indizierte Arrays anstelle von assoziativen Arrays.
  • Verwenden Sie eine Hash-Tabelle oder ein Wörterbuch, um Schlüssel-Wert-Paare zu speichern.
  • Sortieren Sie das Array vor , um die binäre Suche zu beschleunigen.

Das obige ist der detaillierte Inhalt vonSo suchen Sie in PHP nach einem bestimmten Wert in einem Array und geben bei Erfolg den ersten entsprechenden Schlüssel zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen