Heim > Backend-Entwicklung > PHP-Tutorial > Wie gruppiere ich ein 2D-Array nach Spaltenwert in ein 3D-Array?

Wie gruppiere ich ein 2D-Array nach Spaltenwert in ein 3D-Array?

Susan Sarandon
Freigeben: 2024-11-02 17:28:29
Original
1018 Leute haben es durchsucht

How to Group a 2D Array by Column Value into a 3D Array?

2D-Array-Daten mithilfe des Spaltenwerts für ein 3D-Array gruppieren

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],
]
Nach dem Login kopieren

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

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

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!

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