PHP递归获取菜单类目

#PHP递归获取菜单类目

	private function getChild($array,$pid = 0){
	    $data = array();
	    foreach ($array as $k=>$v){        //PID符合条件的
	        if($v['parent_id'] == $pid){            //寻找子集
	            $child = $this->getChild($array,$v['id']);            //加入数组
	            $v['child'] = $child?:array();
	            $data[] = $v;//加入数组中
	        }
	    }    return $data;
	}
	
	public function index(){
	    $this->load->model('virtual_phone_model');
        $res = $this->virtual_phone_model->get_menu();//获取数据库的全部菜单类目
        $res = $this->getChild($res);
        echo "<pre>";print_r($res);die;
	}
	/**
	打印数据
	Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 个人信息管理
            [url] => /personal_center/index
            [urls] => /personal_center/index|/personal_center/save|/personal_center/update_password|/personal_center/check_password
            [parent_id] => 0
            [sort] => 2
            [icon] => iF-user
            [child] => Array
                (
                )

        )

    [1] => Array
        (
            [id] => 4
            [name] => 用户管理
            [url] => /shop/staff/index
            [urls] => /shop/staff/index|/shop/staff/add|/shop/staff/edit|/shop/staff/save|/shop/staff/delete|/shop/staff/edit_password|/shop/staff/set_status|/shop/staff/check_staff|/shop/staff/check_form
            [parent_id] => 0
            [sort] => 3
            [icon] => 
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 21
                            [name] => 角色管理
                            [url] => /shop/role/index
                            [urls] => /shop/role/index|/shop/role/add|/shop/role/edit|/shop/role/save|/shop/role/delete
                            [parent_id] => 4
                            [sort] => 6
                            [icon] => 
                            [child] => Array
                                (
                                )

                        )

                )

        )

    [2] => Array
        (
            [id] => 20
            [name] => 操作日志
            [url] => /shop_staff_log/index
            [urls] => /shop_staff_log/index
            [parent_id] => 0
            [sort] => 12
            [icon] => iF-logs
            [child] => Array
                (
                )

        )

    [3] => Array
        (
            [id] => 23
            [name] => 首页
            [url] => /home/index
            [urls] => /home/index
            [parent_id] => 0
            [sort] => 1
            [icon] => 
            [child] => Array
                (
                )

        )

    [4] => Array
        (
            [id] => 28
            [name] => 数据统计
            [url] => /report/order/index
            [urls] => /report/order/index
            [parent_id] => 0
            [sort] => 14
            [icon] => iF-report
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 18
                            [name] => 通话记录
                            [url] => /report/call/index
                            [urls] => /report/call/index
                            [parent_id] => 28
                            [sort] => 10
                            [icon] => 
                            [child] => Array
                                (
                                )

                        )

                    [1] => Array
                        (
                            [id] => 19
                            [name] => 充值记录
                            [url] => /report/fee_log/index
                            [urls] => /report/fee_log/index
                            [parent_id] => 28
                            [sort] => 11
                            [icon] => 
                            [child] => Array
                                (
                                )

                        )

                )

        )

    [5] => Array
        (
            [id] => 30
            [name] => 虚拟号码管理
            [url] => /virtual_phone/index
            [urls] => /virtual_phone/index|/virtual_phone/add|/virtual_phone/edit|/virtual_phone/save|/virtual_phone/delete|/virtual_phone/check_phone|/virtual_phone/upload_exl
            [parent_id] => 0
            [sort] => 0
            [icon] => 
            [child] => Array
                (
                )

        )

)
	**/

猜你喜欢

转载自blog.csdn.net/weixin_41722647/article/details/88737093
今日推荐