Heim  >  Artikel  >  Backend-Entwicklung  >  Über die Implementierung der unendlichen Klassifizierung und Rekursion im CI-Framework

Über die Implementierung der unendlichen Klassifizierung und Rekursion im CI-Framework

不言
不言Original
2018-06-14 14:04:331792Durchsuche

CodeIgniter ist ein leichtes, aber leistungsstarkes PHP-Framework, das auf dem MVC-Entwurfsmuster basiert und einen umfangreichen Satz an Klassenbibliotheken bereitstellt, die einfach zu erlernen, effizient und praktisch sind. Lassen Sie mich Ihnen den Implementierungscode des CI-Frameworks mit unendlicher Klassifizierung und Rekursion vorstellen.

Was ist CI?

CodeIgniter ist ein Leichtgewicht. Das leistungsstarke PHP-Framework, das auf dem MVC-Entwurfsmuster basiert, bietet einen umfangreichen Satz an Klassenbibliotheken, die leicht zu erlernen, effizient und praktisch sind.

Werfen wir einen Blick auf den Implementierungscode der unendlichen Klassifizierung + Rekursion des CI-Frameworks? Der spezifische Code lautet wie folgt:

//无级分类+递归
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(&#39;    &#39;,$val[&#39;level&#39;])?><?php echo $val[&#39;cat_name&#39;]?></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[&#39;cat_id&#39;]);
foreach($tmp as $kk=>$vv){
$tmp2 = $this->sel_son($vv[&#39;cat_id&#39;]);
$tmp[$kk][&#39;childs&#39;] = $tmp2;
}
$arr[$k][&#39;child&#39;] = $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[&#39;type&#39;] = $this->Home_model->sel_child($p_id);
$brr[&#39;list&#39;] = $this->db->get(&#39;goods&#39;)->result_array();
$this->load->view(&#39;Home/list.html&#39;,$brr);
}
<?php foreach($type as $v){?>
<li id="cat_1" class="">
<h3><a href=""><?php echo $v[&#39;cat_name&#39;]?></a></h3>
<?php foreach($v[&#39;child&#39;] as $vv){?>
<dl class="clearfix">
<dt><a href=""><?php echo $vv[&#39;cat_name&#39;]?></a></dt>
<?php foreach($vv[&#39;childs&#39;] as $vvv){?>
<a href=""><?php echo $vvv[&#39;cat_name&#39;]?></a>
<?php }?>
</dl>
<?php }?>
</li>
<?php }?>

Das Obige ist der gesamte Artikelinhalt, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

So verwenden Sie das CodeIgniter-Framework, um Methoden zum Hochladen von Bildern zu implementieren

Über den CodeIgniter-Framework-Verifizierungscode Klassenbibliotheksdatei Nutzungsanalyse

Das obige ist der detaillierte Inhalt vonÜber die Implementierung der unendlichen Klassifizierung und Rekursion im CI-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn