一旦工作,那就要努力的干,聪明的干,快速的干——用省下来的时间干自己喜欢干的事情。!

PHP(ThinkPHP)通过递归实现层级带children格式的树状形式来展示数据

php lampnick 4427℃ 0评论

PHP(ThinkPHP)通过递归实现层级带children格式的树状形式来展示数据

这里通过一个自己做的权限表进行展示

表形式如下图

rbac1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

要实现的数组格式如下图:

rbac2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

程序代码如下:

通过递归实现,代码并未进行过多的优化。

//其中$data是查询到的所有的数据。

private function _reSort($data, $parent_id = 0) {
    $return = array();//不能用static
    foreach($data as $v) {
        if($v['parent_id'] == $parent_id) {
            foreach($data as $subv) {
                if($subv['parent_id'] == $v['id']) {
                    $v['children'] = $this->_reSort($data, $v['id']);
                    break;
                }
            }
            $return[] = $v;
        }
    }
    return $return;
}

 

转载请注明:MitNick » PHP(ThinkPHP)通过递归实现层级带children格式的树状形式来展示数据

喜欢 (5)or分享 (0)
头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址