Heim > Backend-Entwicklung > PHP-Tutorial > 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
Freigeben: 2024-03-19 16:32:01
nach vorne
476 Leute haben es durchsucht

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);
Nach dem Login kopieren
  • $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";
}
Nach dem Login kopieren

Ausgabe:

键名:1
Nach dem Login kopieren

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);
Nach dem Login kopieren
  • $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 ";
}
}
Nach dem Login kopieren

Ausgabe:

键名:banana
Nach dem Login kopieren

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!

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