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