Menghimpunkan Tatasusunan 2D mengikut Nilai Lajur Dengan Cekap Menggunakan PHP
Mengumpulkan tatasusunan berbilang dimensi mengikut nilai lajur tertentu boleh meningkatkan organisasi dan pengambilan data. Walaupun tiada fungsi PHP asli untuk tugasan ini, pendekatan tersuai menggunakan gelung foreach boleh mencapai matlamat ini dengan berkesan.
Masalah:
Pertimbangkan tatasusunan 2D berikut yang mewakili baris data:
$array = [ [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'reterty', 'description' => 'tyrfyt', 'packaging_type' => 'PC', ], [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'dftgtryh', 'description' => 'dfhgfyh', 'packaging_type' => 'PC', ], [ 'id' => 97, 'shipping_no' => '212755-2', 'part_no' => 'ZeoDark', 'description' => 's%c%s%c%s', 'packaging_type' => 'PC', ], ];
Objektifnya adalah untuk mengumpulkan elemen tatasusunan mengikut lajur 'id' dan membentuk subarrays daripada baris berkumpulan.
Penyelesaian:
Menggunakan gelung foreach:
$result = []; foreach ($data as $element) { $result[$element['id']][] = $element; }
Penjelasan:
Gelung foreach berulang melalui setiap elemen dalam tatasusunan $data. Untuk setiap elemen, ia menyemak lajur 'id' dan menggunakannya sebagai kunci dalam tatasusunan $result. Jika kekunci (id) sudah wujud, elemen baharu dilampirkan pada subbaris yang sepadan.
Output:
Anasusunan $result akan dikumpulkan berdasarkan ' lajur id', menghasilkan:
$result = [ 96 => [ [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'reterty', 'description' => 'tyrfyt', 'packaging_type' => 'PC', ], [ 'id' => 96, 'shipping_no' => '212755-1', 'part_no' => 'dftgtryh', 'description' => 'dfhgfyh', 'packaging_type' => 'PC', ], ], 97 => [ [ 'id' => 97, 'shipping_no' => '212755-2', 'part_no' => 'ZeoDark', 'description' => 's%c%s%c%s', 'packaging_type' => 'PC', ], ], ];
Kaedah ini menyediakan cara yang fleksibel dan cekap untuk mengumpulkan tatasusunan 2D dengan nilai lajur yang ditentukan, membolehkan pengekstrakan dan manipulasi data yang cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mengumpulkan Tatasusunan PHP 2D dengan Cekap mengikut Nilai Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!