0
点赞
收藏
分享

微信扫一扫

php合并id相同的数组


php根据字段合并数组,根据相同的id合并数组

介绍

用户有多个昵称,查出来每个昵称对应一条记录,想把同一个用户的昵称等信息合并成一条

 

初始数据格式

$a = array(
            ['id' => 1, 'name' => 'liming' ,'nickname'=> 'aaa'],
            ['id' => 1, 'name' => 'liming' ,'nickname'=> 'bbb'],
            ['id' => 1, 'name' => 'liming' ,'nickname'=> 'ccc'],
            ['id' => 2, 'name' => 'xiaoqiang' ,'nickname'=> 'ddd'],
            ['id' => 2, 'name' => 'xiaoqiang' ,'nickname'=> 'eee'],
            ['id' => 2, 'name' => 'xiaoqiang' ,'nickname'=> 'fff'],
        );

想要实现的格式

$b = array(
            [
                'id' => 1,
                'name' => 'liming',
                'nickname_list'=> [
                ['nickname'=> 'aaa'],
                ['nickname'=> 'bbb'],
                ['nickname'=> 'ccc'],
                ]
            ],
            [
                'id' => 1,
                'name' => 'xiaoqiang',
                'nickname_list'=> [
                ['nickname'=> 'ddd'],
                ['nickname'=> 'eee'],
                ['nickname'=> 'fff'],
            ]
            ]

        );

代码

$temp = [];
        foreach ($a as $k => $value) {
            $temp[$value['id']] = ['id' => $value['id'], 'name' => $value['name']];
            $temp[$value['id']]['nickname_list'][] = $value;
        }
        $temp = array_values($temp);//关联数组转为索引数组
        var_dump($temp);

效果

php合并id相同的数组_php相同id合并

 

举报

相关推荐

0 条评论