2D-Array-Zeilen effektiv nach einem Spaltenwert gruppieren
In diesem Beispiel haben wir ein Szenario, in dem wir ein assoziatives Array gruppieren müssen Arrays basierend auf einem bestimmten Spaltenwert, „id“. Das Ziel besteht darin, diese Aufgabe zu erfüllen, ohne Duplikate einzuführen und gleichzeitig die ursprüngliche Datenstruktur beizubehalten.
Während array_column() und array_unique() die Gruppierung teilweise erreichen können, reicht es nicht aus, Duplikate zu vermeiden, wie unten dargestellt:
function array_group_by_id($array) { return array_column($array, null, 'id'); } $grouped_array = array_group_by_id($data);
Um dieses Problem vollständig zu lösen, können wir einen schleifenbasierten Ansatz verwenden:
$result = array(); foreach ($data as $element) { $result[$element['id']][] = $element; }
Diese Schleife iteriert über die ursprüngliches Array, wobei jedes Element basierend auf seinem „id“-Wert dem entsprechenden Unterarray innerhalb des „Ergebnis“-Arrays hinzugefügt wird. Dadurch entsteht effektiv eine verschachtelte Struktur, in der jedes Unterarray Zeilen aus dem ursprünglichen Array enthält, die dieselbe „ID“ haben.
Das obige ist der detaillierte Inhalt vonWie kann ich 2D-Array-Zeilen in PHP effizient nach einem Spaltenwert gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!