按列對子數組進行分組,格式化組內其他列的值
在每個子數組由兩列組成的給在定數組中,任務的方法是按第二列對子數組進行分組並建立新數組,其中每個組的第一列的值以逗號連接,第二列的值作為第二個值。
例如,輸入數組如下:
$array = [ ["444", "0081"], ["449", "0081"], ["451", "0081"], ["455", "2100"], ["469", "2100"] ];
應轉換為:
array ( 0 => array ( 0 => '444,449,451', 1 => '0081', ), 1 => array ( 0 => '455,469', 1 => '2100', ), )
解決方案:
實現此目的的簡單方法如下:
<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>
此解決方案可以有效地處理轉換,從而產生所需的輸出。
以上是如何在 PHP 中對子數組進行分組並按列格式化值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!