php怎么合并id相同的数组 发布时间:2023/10/11 php 合并数组 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);//关联数组转为索引数组 topstudy.com.cn var_dump($temp);复制代码