按一列对子数组进行分组并从其他列生成逗号分隔的值
简介
给定一个具有两列的子数组数组,任务是将这些子数组按一列,并创建新的子数组,其中另一列中的值以逗号分隔。
原始结构:
$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">$data = []; $groups = []; foreach($data as $item){ if(!array_key_exists($item[1], $groups)){ $groups[$item[1]] = []; } $groups[$item[1]][] = $item[0]; } $structured = []; foreach($groups as $group => $values){ $structured[] = [implode(',', $values), $group]; }</code>
此方法可确保子数组正确分组,并且另一列中的值组合为逗号分隔的字符串。它利用基本的 PHP 数组函数和 foreach 循环来实现所需的结果。
以上是如何按一列对子数组进行分组并从另一列生成逗号分隔值?的详细内容。更多信息请关注PHP中文网其他相关文章!