如何按一列对子数组进行分组并从另一列生成逗号分隔值?

DDD
发布: 2024-11-02 18:11:02
原创
554 人浏览过

How to Group Subarrays by One Column and Generate Comma-Separated Values from Another Column?

按一列对子数组进行分组并从其他列生成逗号分隔的值

简介

给定一个具有两列的子数组数组,任务是将这些子数组按一列,并创建新的子数组,其中另一列中的值以逗号分隔。

原始结构:

$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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!