列ごとに部分配列をグループ化し、グループ内の他の列の値をフォーマットする
各部分配列が 2 つの列で構成される指定された配列では、タスクサブ配列を 2 番目の列でグループ化し、各グループに最初の列の値がカンマで連結され、2 番目の列が 2 番目の値として含まれる新しい配列を作成します。
たとえば、次のような入力配列です。
$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 中国語 Web サイトの他の関連記事を参照してください。