Kumpulkan Subarray mengikut Lajur, Format Nilai daripada Lajur Lain Dalam Kumpulan
Dalam tatasusunan tertentu di mana setiap subarray terdiri daripada dua lajur, tugas adalah untuk mengumpulkan subarray mengikut lajur kedua dan mencipta tatasusunan baharu di mana setiap kumpulan mempunyai nilai daripada lajur pertama yang digabungkan dengan koma dan lajur kedua sebagai nilai kedua.
Sebagai contoh, tatasusunan input seperti:
$array = [ ["444", "0081"], ["449", "0081"], ["451", "0081"], ["455", "2100"], ["469", "2100"] ];
hendaklah diubah menjadi:
array ( 0 => array ( 0 => '444,449,451', 1 => '0081', ), 1 => array ( 0 => '455,469', 1 => '2100', ), )
Penyelesaian:
Pendekatan mudah untuk mencapai ini adalah seperti berikut:
<code class="php">// Create an empty array to store the grouped data $groups = []; // Loop through the input array foreach ($array as $item) { // If the second column value is not yet a key in $groups, create an empty array for it if (!array_key_exists($item[1], $groups)) { $groups[$item[1]] = []; } // Add the first column value to the array at the corresponding key $groups[$item[1]][] = $item[0]; } // Initialize the new array with the desired structure $structured = []; // Loop through the groups foreach ($groups as $group => $values) { // Join the first column values with commas and add the group key as the second column $structured[] = [implode(',', $values), $group]; }</code>
Penyelesaian ini mengendalikan transformasi dengan cekap, menghasilkan output yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menghimpunkan Subarray dan Memformat Nilai mengikut Lajur dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!