Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gruppiere ich assoziative Arrays nach Spaltenwert und behalte dabei die Schlüssel in PHP bei?

Wie gruppiere ich assoziative Arrays nach Spaltenwert und behalte dabei die Schlüssel in PHP bei?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 13:08:02350Durchsuche

How to Group Associative Arrays by Column Value While Preserving Keys in PHP?

Assoziative Arrays nach Spaltenwert gruppieren und dabei Schlüssel beibehalten

Betrachten Sie ein Array assoziativer Arrays, die jeweils eine Entität mit Attributen wie „id“ darstellen. und „Name“. Die Herausforderung besteht darin, diese Arrays basierend auf einer bestimmten Spalte, „id“, zu gruppieren und dabei die ursprünglichen Schlüssel beizubehalten.

Um dies zu erreichen, können wir die foreach-Schleife von PHP verwenden, um über das Array zu iterieren. Für jedes innere Array extrahieren wir den „id“-Wert und verwenden ihn als Index eines neuen assoziativen Arrays. Innerhalb dieses neuen Arrays weisen wir den Originalschlüssel als Index und das innere Array als Wert zu.

<code class="php">$arr = array();

foreach ($old_arr as $key => $item) {
   $arr[$item['id']][$key] = $item;
}</code>

Schließlich verwenden wir ksort(), um das resultierende Array numerisch zu sortieren und so sicherzustellen, dass die Gruppen dargestellt werden in aufsteigender Reihenfolge nach „id“.

<code class="php">ksort($arr, SORT_NUMERIC);</code>

Die Ausgabe ist ein Array, in dem jedes Element eine Gruppe von Entitäten mit demselben „id“-Wert darstellt, während die ursprünglichen Schlüssel innerhalb jeder Gruppe erhalten bleiben.

Das obige ist der detaillierte Inhalt vonWie gruppiere ich assoziative Arrays nach Spaltenwert und behalte dabei die Schlüssel in PHP bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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