Heim > Backend-Entwicklung > PHP-Tutorial > Wie finde ich den Schlüssel für einen bestimmten Wert in einem mehrdimensionalen Array?

Wie finde ich den Schlüssel für einen bestimmten Wert in einem mehrdimensionalen Array?

Mary-Kate Olsen
Freigeben: 2024-12-11 05:57:13
Original
465 Leute haben es durchsucht

How to Find the Key for a Specific Value in a Multidimensional Array?

Identifizierungsschlüssel für einen bestimmten Array-Wert

Beim Umgang mit mehrdimensionalen Arrays ist es notwendig, nach bestimmten Werten zu suchen und die entsprechenden Schlüssel abzurufen . In diesem Szenario wollen wir den Schlüssel für einen bestimmten Wert innerhalb eines mehrdimensionalen Arrays finden.

Array-Suche mit array_search()

Ein Ansatz zum Durchsuchen von Arrays ist: Nutzen Sie die Funktion array_search(), die in PHP-Versionen 5.5.0 und höher verfügbar ist. Diese Funktion erfordert zwei Argumente: den Zielwert und ein Array, in dem gesucht werden soll. Es gibt den mit dem Zielwert verknüpften Schlüssel zurück, wenn er gefunden wird, andernfalls FALSE.

Beispiel

Betrachten Sie das folgende mehrdimensionale Array:

$products = [
    1 => [
        'slug' => 'breville-one-touch-tea-maker-BTM800XL',
        'name' => 'The Breville One-Touch Tea Maker',
    ],
    2 => [
        'slug' => 'breville-variable-temperature-kettle-BKE820XL',
        'name' => 'Breville Variable-Temperature Kettle BKE820XL',
    ],
];
Nach dem Login kopieren

Um nach dem Schlüssel zu suchen, der dem Slug zugeordnet ist breville-one-touch-tea-maker-BTM800XL:

$key = array_search('breville-one-touch-tea-maker-BTM800XL', array_column($products, 'slug'));
Nach dem Login kopieren

Die Funktion array_column() wird verwendet, um die „Slug“-Werte aus jedem Unterarray in ein eindimensionales Array zu extrahieren und so die Funktion array_search() zu aktivieren. Funktion, um die Suche effizient durchzuführen.

Alternative Lösung mit array_search_multidim()

Für eine eigenständige Lösung können Sie eine benutzerdefinierte Funktion definieren wie:

function array_search_multidim($array, $column, $key) {
    return (array_search($key, array_column($array, $column)));
}
Nach dem Login kopieren

Mit dieser Funktion können Sie das mehrdimensionale Array und den Spaltennamen übergeben Suche innerhalb (z. B. „slug“) und das Ziel Wert.

Beispiel

$key = array_search_multidim($products, 'slug', 'breville-one-touch-tea-maker-BTM800XL');
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie finde ich den Schlüssel für einen bestimmten Wert in einem mehrdimensionalen Array?. 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