php数据分组,循环合并数据的方法

来自:互联网
时间:2020-02-22
阅读:

今天在浏览百度知道的时候,看到一个小伙伴提出了一个问题,我帮他解答了下!额,不要夸我,我是个热心的人,呵呵!我闲暇之余都会去百度知道看看,有没有需要帮忙的小伙伴,不仅帮助了需要帮助的小伙伴,对自己也是一个很大的提升,额,一不小心又给百度打了个广告,fuck!

回先百度朋友的提问

image.png

可能描述得不是特别清楚,我们直接上代码,看了就明白了!

//根据他的问题,大概数据是不是这样

$result =  [
    ['title' => 1   ,name => '版权声明'],
    ['title' => 1   ,name => '免责生命'],
    ['title' => 2   ,name => '企业服务'],
    ['title' => 2   ,name => '招聘服务'],
    ['title' => 5   ,name => '不知道啥'],
    ['title' => 5   ,name => '你的提问'],
    ['title' => 'a' ,name => '不知道啥'], //来2个字符串型的kay
    ['title' => 'a' ,name => '你的提问'],
];

//我们需要根据title来分组即可

foreach($result as $v) $arr[$v['title']][] = $v;
echo '<pre>';
print_r($arr);
echo '</pre>';

一行代码解决问题,看结果,数据的key就是title

Array
(
    [1] => Array
        (
            [0] => Array
                (
                    [title] => 1
                    [name] => 版权声明
                )

            [1] => Array
                (
                    [title] => 1
                    [name] => 免责生命
                )

        )

    [2] => Array
        (
            [0] => Array
                (
                    [title] => 2
                    [name] => 企业服务
                )

            [1] => Array
                (
                    [title] => 2
                    [name] => 招聘服务
                )

        )

    [5] => Array
        (
            [0] => Array
                (
                    [title] => 5
                    [name] => 不知道啥
                )

            [1] => Array
                (
                    [title] => 5
                    [name] => 你的提问
                )

        )

    [a] => Array
        (
            [0] => Array
                (
                    [title] => a
                    [name] => 不知道啥
                )

            [1] => Array
                (
                    [title] => a
                    [name] => 你的提问
                )

        )

)

是不是感觉棒棒哒!嘿嘿嘿!

返回顶部
顶部