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', ], ];
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'));
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))); }
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');
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!