php 递归 返回数组

private function tree_data(&$list, $parent){
$tree = array();
foreach($list as $row) {
if($row['permission_parent_id'] == $parent) {
$row['children'] = $this->tree_data($list, $row['permission_id']);
$tree[] = $row;
}
}
return $tree;
}