thinkphp栏目中实现无极限分类

无极限分类应用广泛,作为一个开发者,想必会经常遇到,其实无极限分类用一个递归就可以实现,理解之后,也就只要5分钟就可以写出这个功能了。

//栏目管理

public function index(){

  $cat = M("Category");

  $catlist = $cat->where("catid>1")->select();

  $newArr = $this->getCategory($catlist);

  //dump($newArr);

  $this->assign("catlist",$newArr);

  $this->display();

}

// 递归调用栏目

public function getCategory($catlist,$asmenu='0',$html='——',$level='0'){

  $arr = array();

  foreach($catlist as $val){

    if($val['asmenu']==$asmenu){

      $val['html'] = str_repeat($html,$level);

      $arr[] = $val;

      $arr = array_merge($arr,self::getCategory($catlist,$val['catid'],$html,$level+1));

      //dump($arr);

      //exit();

    }  

  }

  return $arr;

}

相关文章

(1)创建数据表: CREATE TABLE IF NOT EXISTS `think_form` ...
组合查询的主体还是采用数组方式查询,只是加入了一些特殊的...
(1)创建模版:/App/Home/View/Form/edit.html   <FORM m...
自定义配置文件user.php: <?php return array(    \'se...
在一些成熟的CMS系统中,后台一般都包含一个配置中心(如织梦...
废话不多说先上图预览下,即本博客的分页; 这个分页类是在...