PHP 二维数组拼接问题
ringa_lee
ringa_lee 2017-04-11 09:54:22
[PHP讨论组]


[0]=>[adminid =>1,group =>小组1],
[1]=>[adminid =>2,group =>小组2],
[2]=>[adminid =>2,group =>小组3]
];
如何让adminid 相同的放进同一个下标?
拼成这样的:

[0]=>[adminid =>1,group =>小组1],
[1]=>[
[0]=>[adminid =>2,group =>小组2],
[1]=>[adminid =>2,group =>小组3]

];

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
大家讲道理

看你的数组吧,如果数组不是很大,循环就可以了。但是数组太大,会消耗内存,需要想一些特别的办法。

public function actionTest()
{
    $list = [];
    $arr = [
        ['adminid' => 1, 'group' => '小组1'],
        ['adminid' => 2, 'group' => '小组2'],
        ['adminid' => 2, 'group' => '小组3'],
    ];
    foreach ($arr as $value) {
        if (isset($list[$value['adminid']])) {
            $list[$value['adminid']][] = $value;
            continue;
        }
        $list[$value['adminid']][] = $value;
    }
    unset($arr);
    print_r($list);
}
天蓬老师

protected function tree($arr){

  $array=[];
   foreach ($arr as $k=>$v){
       $array[$v['admin_id']][]=$v;
   }
   sort($array);
    return $array;
}

ok
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号