tp 递归菜单列表【树状】

public function getPrivilegeList($moduleType){
        $authRuleModel = M('auth_rule');
        $data = $authRuleModel->where(['module_type' => $moduleType])->select();
        $res = $this->getChild($data);
        return $res;
    }

    public function getChild($data)
    {
        $tree = [];
        $newData = [];
        //循环重新排列
        foreach ($data as $datum) {
            $newData[$datum['id']] = $datum;
        }
        foreach ($newData as $key => $datum) {
            if ($datum['pid'] > 0) {
                //不是根节点的将自己的地址放到父级的child节点
                $newData[$datum['pid']]['child'][] = &$newData[$key];
            } else {
                //根节点直接把地址放到新数组中
                $tree[] = &$newData[$datum['id']];
            }
        }
        return $tree;
    }

 

posted @ 2020-09-23 21:36  垖垏尐  阅读(306)  评论(0编辑  收藏  举报