php無限レベル分類実現方法分析
1594 ワード
本論文の例ではphp無限レベル分類の実現方法について述べた.皆さんの参考にしてください.具体的には以下の通りです.
1.再帰
2.普通
PHPに関する内容についてもっと兴味のある読者は、「php文字列(string)用法総括」、「PHP配列(Array)操作技巧大全」、「PHP基本文法入門教程」、「PHP演算と演算子用法総括」、「php対象プログラム设计入門教程」、「PHPネットワークプログラミング技巧総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんの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文字列(string)用法総括」、「PHP配列(Array)操作技巧大全」、「PHP基本文法入門教程」、「PHP演算と演算子用法総括」、「php対象プログラム设计入門教程」、「PHPネットワークプログラミング技巧総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.