<?phpnamespace org;
class Tree{
static public function sort($arr,$cols){
foreach ($arr as $k => &$v) {
if(!empty($v['sub'])){
$v['sub']=self::sort($v['sub'],$cols);
}
$sort[$k]=$v[$cols];
}
if(isset($sort))
array_multisort($sort,SORT_ASC,$arr);
return $arr;
}
static public function hTree($arr,$pid=0){
foreach($arr as $k => $v){
if($v['pid']==$pid){
$v['sub']=self::hTree($arr,$v['id']);
$data[]=$v;
}
}
return isset($data)?$data:[];
}
static public function vTree($arr,$pid=0,$state=true){
static $data=[];
$state&&$data=[];
foreach($arr as $k => $v){
if($v['pid']==$pid){
$data[]=$v;
self::vTree($arr,$v['id'],false);
}
}
return $data;
}
}