Assoziative Array-Zeilen nach Spaltenwert gruppieren
Beim Programmieren kann es vorkommen, dass Sie in assoziativen Arrays gespeicherte Daten neu organisieren müssen. Eine häufige Aufgabe besteht darin, Zeilen im Array nach einem bestimmten Spaltenwert zu gruppieren und dabei die ursprünglichen Schlüssel der ersten Ebene beizubehalten.
Betrachten Sie das folgende assoziative Array assoziativer Arrays, bekannt als $old_arr:
[ 'a' => ['id' => 20, 'name' => 'chimpanzee'], 'b' => ['id' => 40, 'name' => 'meeting'], 'c' => ['id' => 20, 'name' => 'dynasty'], 'd' => ['id' => 50, 'name' => 'chocolate'], 'e' => ['id' => 10, 'name' => 'bananas'], 'f' => ['id' => 50, 'name' => 'fantasy'], 'g' => ['id' => 50, 'name' => 'football'] ]
Das Ziel besteht darin, ein neues Array, $arr, zu erstellen, in dem Zeilen basierend auf dem ID-Feld gruppiert werden. Das resultierende Array sollte wie folgt aussehen:
array ( 10 => array ( e => array ( id = 10, name = bananas ) ) 20 => array ( a => array ( id = 20, name = chimpanzee ) c => array ( id = 20, name = dynasty ) ) 40 => array ( b => array ( id = 40, name = meeting ) ) 50 => array ( d => array ( id = 50, name = chocolate ) f => array ( id = 50, name = fantasy ) g => array ( id = 50, name = football ) ) )
Um dies zu erreichen, können Sie die folgenden Schritte ausführen:
Der bereitgestellte PHP-Code folgt diesem Ansatz, um das gewünschte Ergebnis zu generieren:
$arr = array(); foreach ($old_arr as $key => $item) { $arr[$item['id']][$key] = $item; } ksort($arr, SORT_NUMERIC);
Das obige ist der detaillierte Inhalt vonWie gruppiere ich assoziative Array-Zeilen nach Spaltenwert in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!