Heim > Artikel > Backend-Entwicklung > Wie gruppiere ich ein 2D-Array nach Spaltenwert in ein 3D-Array?
Bei der Programmierung ist es häufig erforderlich, Datenstrukturen effektiv zu manipulieren und zu organisieren. Das Gruppieren von Daten nach bestimmten Kriterien ist eine häufige Aufgabe. In diesem Artikel wird erläutert, wie Sie ein 2D-Array mithilfe eines Spaltenwerts gruppieren, um ein 3D-Array zu erstellen.
Betrachten Sie das folgende 2D-Array:
[ ['cust' => 'XT8900', 'type' => 'standard', 'level' => 1], ['cust' => 'XT8944', 'type' => 'standard', 'level' => 1], ['cust' => 'XT8922', 'type' => 'premier', 'level' => 3], ['cust' => 'XT8816', 'type' => 'permier', 'level' => 3], ['cust' => 'XT7434', 'type' => 'standard', 'level' => 7], ]
Unser Ziel ist es, diese Daten nach „ zu gruppieren. „Level“-Spalte, wodurch effektiv ein 3D-Array erstellt wird. Die gewünschte Ausgabe sieht so aus:
Array ( [1] => Array ( [0] => Array ( [cust] => XT8900 [type] => standard ) [1] => Array ( [cust] => XT8944 [type] => standard ) ) [3] => Array ( [2] => Array ( [cust] => XT8922 [type] => premier ) [3] => Array ( [cust] => XT8816 [type] => permier ) ) [7] => Array ( [4] => Array ( [cust] => XT7434 [type] => standard ) ) )
Optimaler Ansatz
Die effizienteste Lösung besteht darin, das 3D-Array nach Möglichkeit direkt zu erstellen. Wenn dies jedoch nicht möglich ist, können wir zum Sortieren ein temporäres Zwischenarray verwenden:
<code class="php">foreach ($input_arr as $key => &$entry) { $level_arr[$entry['level']][$key] = $entry; }</code>
Dies führt zur gewünschten 3D-Array-Struktur. Für eine optimale Leistung ist es wichtig, den Aufbau des Arrays möglichst von Anfang an im endgültigen Format in Betracht zu ziehen.
Das obige ist der detaillierte Inhalt vonWie gruppiere ich ein 2D-Array nach Spaltenwert in ein 3D-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!