この記事の例では、PHPでの無制限分類の実装方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです。
1. 再帰
public function getInfo(){ $data=$this->select(); $arr=$this->noLimit($data,$f_id=0,$level=0); return $arr; } //无限极分类 public function noLimit($data,$f_id=0,$level=0){ static $lists=array(); foreach($data as $key=>$v){ if($v['f_id']==$f_id){ $v['level']=$level; $lists[]=$v; $this->noLimit($data,$v['q_id'],$level+1); } } return $lists; }
2. 通常の
public function getInfo(){ $u_id=session('u_id'); $data=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")-> where("user.u_id=$u_id and quan.f_id=0")->group("quan.q_id")->select(); foreach($data as $k=>$v){ $arr=$this->join("user join user_role on user.u_id=user_role.u_id join role_quan on user_role.j_id=role_quan.j_id join quan on quan.q_id=role_quan.q_id")-> where("user.u_id=$u_id and quan.f_id=".$v['q_id'])->group("quan.q_id")->select(); $data[$k]['son']=$arr; }
上記は、PHP の無限分類の実装方法の分析です。 PHP 中国語 Web サイト (www.php .cn)!
関連記事: