当前位置: 首页 > 后端技术 > PHP

两个多维数组根据对应的相同字段值进行匹配重组

时间:2023-03-29 20:31:06 PHP

//接收主评论$message=(newcoachModel())->coachMessge($param);print_r($message);die;//在主注释下组装下面的注释$temp=array_column($message,'id');$messagelists=CoachProblemModel::where('pid','in',$temp)->field(['id','coach_id','create_time','member_id','is_reply','content','reply_id','pid'])->select()->toArray();print_r($messagelists);死;根据$message中的id值,得到$messagelists数组中所有与id值相同的pid值重组在$message['reply']字段下,预期结果如下://代码实现如下:$pidMap=array_combine(array_column($message,'id'),$message);array_reduce($messagelists,function($carray,$item)使用(&$pidMap){if(isset($pidMap[$item['pid']])){if(isset($pidMap[$item['pid']]]['reply'])){$pidMap[$item['pid']]['reply'][]=$item;}else{$pidMap[$item['pid']]['回复'][]=$item;}}else{$pidMap[]=$item;}},[]);print_r($pidMap);死;