Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich 2D-Array-Zeilen in PHP effizient nach einem Spaltenwert gruppieren?

Wie kann ich 2D-Array-Zeilen in PHP effizient nach einem Spaltenwert gruppieren?

Mary-Kate Olsen
Freigeben: 2024-12-16 17:19:11
Original
989 Leute haben es durchsucht

How Can I Efficiently Group 2D Array Rows by a Column Value in PHP?

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);
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

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