Bagaimana untuk Menghimpunkan Tatasusunan 2D mengikut Nilai Lajur ke dalam Tatasusunan 3D?

Susan Sarandon
Lepaskan: 2024-11-02 17:28:29
asal
894 orang telah melayarinya

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

Kumpulkan Data Tatasusunan 2D Menggunakan Nilai Lajur untuk Tatasusunan 3D

Dalam pengaturcaraan, selalunya perlu untuk memanipulasi dan mengatur struktur data dengan berkesan. Mengelompokkan data berdasarkan kriteria tertentu adalah tugas biasa. Artikel ini meneroka cara mengumpulkan tatasusunan 2D menggunakan nilai lajur untuk mencipta tatasusunan 3D.

Pertimbangkan tatasusunan 2D berikut:

[
    ['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],
]
Salin selepas log masuk

Objektif kami adalah untuk mengumpulkan data ini mengikut ' lajur level', yang menghasilkan tatasusunan 3D dengan berkesan. Output yang diingini kelihatan seperti ini:

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
                 )
          )
)
Salin selepas log masuk

Pendekatan Optimum

Penyelesaian yang paling berkesan ialah mencipta tatasusunan 3D secara terus jika boleh. Walau bagaimanapun, jika ini tidak boleh dilaksanakan, kita boleh menggunakan tatasusunan sementara perantaraan untuk mengisih:

<code class="php">foreach ($input_arr as $key => &$entry) {
    $level_arr[$entry['level']][$key] = $entry;
}</code>
Salin selepas log masuk

Ini menghasilkan struktur tatasusunan 3D yang diingini. Adalah penting untuk mempertimbangkan membina tatasusunan dalam format akhir dari awal jika boleh, untuk prestasi optimum.

Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Tatasusunan 2D mengikut Nilai Lajur ke dalam Tatasusunan 3D?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!