Assoziative arrays mit PHP durchsuchen

Wer ein Array mit mehreren assoziativen Arrays nach einem bestimmten Wert durchsuchen will, verwendet in den meisten Fällen instinktiv eine foreach-Schleife mit if-Abfrage. PHP bietet allerdings die ein oder andere Funktion an, mit der sich das deutlich eleganter lösen lässt. Und das funktioniert wie folgt:

<?php

$characters = [
	[ 'name' => 'Gandalf', 'race' => 'Ainur' ],
	[ 'name' => 'Aragorn', 'race' => 'Men' ],
	[ 'name' => 'Legolas', 'race' => 'Elves' ]
];

$index = array_search('Legolas', array_column($characters, 'name'));
var_dump($characters[$index]['race']); // Ausgabe: "Elves"

Die Funktionen array_search() und array_column() durchsuchen das Array $characters nach dem Namen „Legolas“ und geben den ersten gefunden Index zurück.

Durch die Kombination der beiden Funktionen wird das Skript deutlich kürzer und übersichtlicher, als wenn eine Schleife verwendet worden wäre.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.