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

小黄的成长日记 -
两个多维数组根据对应的相同字段值匹配重组

//收到的主评论

        $message = (new coachModel())->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);die;


根据$message里的id值,获取$messagelists数组里所有pid值跟id值相同的重组在$message['reply']字段下,期望结果如下:
//代码实现如下:

        $pidMap = array_combine(array_column($message, 'id'), $message);

        array_reduce($messagelists, function($carray, $item) use (&$pidMap) {
            if (isset($pidMap[$item['pid']])) {
                if (isset($pidMap[$item['pid']]['reply'])) {
                    $pidMap[$item['pid']]['reply'] []=  $item;
                } else {
                    $pidMap[$item['pid']]['reply'] []= $item;

                }
            } else {
                $pidMap[] = $item;
            }
        }, []);
        print_r($pidMap);die;
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

php多维数组数组array

扩展阅读

加个好友,技术交流

1628738909466805.jpg