引用算法写无限极树状分类

 $array = array(
array('id' => 1, 'pid' => 0, 'name' => '河北省'),
array('id' => 2, 'pid' => 0, 'name' => '北京市'),
array('id' => 3, 'pid' => 1, 'name' => '邯郸市'),
array('id' => 4, 'pid' => 2, 'name' => '朝阳区'),
array('id' => 5, 'pid' => 2, 'name' => '通州区'),
array('id' => 6, 'pid' => 4, 'name' => '望京'),
array('id' => 7, 'pid' => 4, 'name' => '酒仙桥'),
array('id' => 8, 'pid' => 3, 'name' => '永年区'),
array('id' => 9, 'pid' => 1, 'name' => '武安市'),
);
 

 
      public function getTree($array){
            $items = [];
            foreach($array as $value){
                $items[$value['id']] = $value;
            }
            $tree = [];
            foreach($items as $key => $value){
                if(isset($items[$value['pid']])){
                    $items[$value['pid']]['son'][] = &$items[$key];
                }else{
                    $tree[] = &$items[$key];
                }
            }
            return $tree;
      }

你可能感兴趣的:(引用算法写无限极树状分类)