CodeIgniter は、MVC 設計パターンに基づいた軽量で強力な PHP フレームワークで、学習が簡単で効率的かつ実用的なクラス ライブラリの豊富なセットを提供します。以下は CI フレームワークの無限分類再帰の実装コードの紹介です。興味のある方は参考にしてください。
CI とは何ですか?
CodeIgniter は軽量です。 MVC 設計パターンに基づいた強力な PHP フレームワークは、学習が簡単で効率的かつ実用的なクラス ライブラリの豊富なセットを提供します。
CI フレームワークの無限分類再帰の実装コードを見てみましょう。 具体的なコードは次のとおりです。
//无级分类+递归 public function digui(){ $crr = $this->db->get('category')->result_array(); $list['type'] = $this->nolimit($crr,0,0); $this->load->view('list1',$list); } public function nolimit($crr,$p_id,$level){ static $arr = array(); foreach($crr as $v){ if($v['parent_id']==$p_id){ $v['level'] = $level; $arr[] = $v; $this->nolimit($crr,$v['cat_id'],$level+1); } } return $arr; } <td><?PHP echo str_repeat(' ',$val['level'])?><?php echo $val['cat_name']?></td> //获取1级、2级、3级分类 public function sel_child($p_id){ $arr = $this->sel_son($p_id); foreach($arr as $k=>$v){ $tmp = $this->sel_son($v['cat_id']); foreach($tmp as $kk=>$vv){ $tmp2 = $this->sel_son($vv['cat_id']); $tmp[$kk]['childs'] = $tmp2; } $arr[$k]['child'] = $tmp; } return $arr; } //通过ID获取所有的下级分类 public function sel_son($id){ $this->db->where("parent_id=$id"); return $this->db->get(self::$cate)->result_array(); } //渲染展示主页模板 public function lists(){ $p_id = 0; $brr['type'] = $this->Home_model->sel_child($p_id); $brr['list'] = $this->db->get('goods')->result_array(); $this->load->view('Home/list.html',$brr); } <?php foreach($type as $v){?> <li id="cat_1" class=""> <h3><a href=""><?php echo $v['cat_name']?></a></h3> <?php foreach($v['child'] as $vv){?> <dl class="clearfix"> <dt><a href=""><?php echo $vv['cat_name']?></a></dt> <?php foreach($vv['childs'] as $vvv){?> <a href=""><?php echo $vvv['cat_name']?></a> <?php }?> </dl> <?php }?> </li> <?php }?>
上記は次のとおりです。この記事の内容全体が皆さんの学習に役立つことを願っています。その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。
関連する推奨事項:
CodeIgniter フレームワークを使用して画像アップロード メソッドを実装する方法
CodeIgniter フレームワークの検証コードについてクラス ライブラリ ファイルの使用状況の分析
以上がCIフレームワークにおける無限分類と再帰の実装についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。