Php unlimited classification implementation method analysis, php unlimited Classification
This example describes how to implement php unlimited classification. We will share this with you for your reference. The details are as follows:
1. Recursion
Public function getInfo () {$ data = $ this-> select (); $ arr = $ this-> noLimit ($ data, $ f_id = 0, $ level = 0 ); return $ arr;} // infinitus classification 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. Normal
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;}