php如何操作这样的数组
大叔刘
大叔刘 2018-08-24 13:33:02
[PHP讨论组]
<?php
//////当前查询出来的数据
$redata = array(
    0=>['id'=>1,'name'=>'张三','age'=>22,'hobby'=>'学习'],
    1=>['id'=>1,'name'=>'张三','age'=>22,'hobby'=>'骑行'],
    2=>['id'=>2,'name'=>'李四','age'=>20,'hobby'=>'旅游'],
);

//如何才能转换成下面这种形式的?  写了一上午 愣是没写出来
$arr = array(
    0=>[
        'id'=>1,'name'=>'张三','age'=>22,'hobby'=> ['学习', '骑行']
    ],
    1=>[
        'id'=>2,'name'=>'李四','age'=>20,'hobby'=> ['旅游']
    ]
);


大叔刘
大叔刘

全部回复(2)
不冷不热
$r = array(
            0=>['id'=>1,'name'=>'张三','age'=>22,'hobby'=>'学习'],
            1=>['id'=>1,'name'=>'张三','age'=>22,'hobby'=>'骑行'],
            2=>['id'=>2,'name'=>'李四','age'=>20,'hobby'=>'旅游'],
        );
        $dd = [];
        foreach ($r as $k => $vv) {
            $dd[$vv['id']]['id'] = $vv['id'];
            $dd[$vv['id']]['age'] = $vv['age'];
            $dd[$vv['id']]['hobby'][] = $vv['hobby'];
            
        }
        P($dd);
        Array
(
    [1] => Array
        (
            [id] => 1
            [age] => 22
            [hobby] => Array
                (
                    [0] => 学习
                    [1] => 骑行
                )

        )

    [2] => Array
        (
            [id] => 2
            [age] => 20
            [hobby] => Array
                (
                    [0] => 旅游
                )

        )

)


  • 回复 厉害了。一个foreach就搞定
    MT 作者 2018-08-24 17:23:58
不冷不热
        $dd = [];
        foreach ($r as $k => $vv) {
            $dd[$vv['id']]['id'] = $vv['id'];
            $dd[$vv['id']]['age'] = $vv['age'];
            $dd[$vv['id']]['hobby'][] = $vv['hobby'];
            
        }

这样

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

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