无限极分类取得分类树和级别

class Test(){  

  private static $treeList = array();
 
    //获取分类列表,得到数据和级别关系
    public function tree(&$data,$pid = 0,$count = 1) {
        foreach ($data as $key => $value){
            if($value['pid']==$pid){
                $value['Count'] = $count;
                self::$treeList []=$value;
                // unset($data[$key]);
                $this -> tree($data,$value['id'],$count+1);
            }
        }
        return self::$treeList ;
    }

    //组合多维数组
    public function unlimitedForLayer ($cate, $name = 'child', $parent_id = 0) {
      $arr = array();
      foreach ($cate as $k=>$v) {
        if ($v['pid'] == $parent_id) {
          $v[$name] = self::unlimitedForLayer($cate, $name, $v['id']);
          $arr[] = $v;
        }
      }
      return $arr;
    }

}

获得的结构如下

posted @ 2015-01-15 17:49  xien  阅读(303)  评论(0)    收藏  举报