Heim  >  Artikel  >  Backend-Entwicklung  >  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
Susan SarandonOriginal
2024-11-02 17:28:29895Durchsuche

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],
]

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!

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