PHP(ThinkPHP)通过递归实现层级带children格式的树状形式来展示数据
这里通过一个自己做的权限表进行展示
表形式如下图

要实现的数组格式如下图:
程序代码如下:
通过递归实现,代码并未进行过多的优化。
//其中$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;
}
