关于以字母开头的数组整合

我查询出来的数组是这样子的

Array
(
    [0] => Array
        (
            [id] => 13
            [name] => 安德森
            [first] => a
        )

    [1] => Array
        (
            [id] => 8
            [name] => 保罗
            [first] => b
        )

    [2] => Array
        (
            [id] => 14
            [name] => 邓肯
            [first] => d
        )

    [3] => Array
        (
            [id] => 3
            [name] => 杜兰特
            [first] => d

但是呢我这边要求整合出来的数组是这样子的

 [3] => Array
        (
            [first] => d
            [content] => Array
                (
                    [0] => Array
                        (
                            [id] => 14
                            [name] => 邓肯
                            [first] => d
                        )

                    [1] => Array
                        (
                            [id] => 3
                            [name] => 杜兰特
                            [first] => d
                        )

                )

        )

实际上呢代码就需要这样操作我

 $info = db('user')
            ->where(['status' => 0])
            ->field('id,name,first')
            ->order('first asc')
            ->select();

        $letter = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'];
        $UsersInfo = [];
        foreach($info as $k=>$v){
            foreach($letter as $k1=>$v1){
                if($v['first'] == $v1){
                    $UsersInfo[$k1]['first'] = $v1;
                    $UsersInfo[$k1]['content'][] = $v;
                }
            }
        }
        echo "<pre>";
        print_r($UsersInfo);die;

猜你喜欢

转载自blog.csdn.net/wt1286331074/article/details/80578564