本文实例讲述了php无限级分类实现方法。分享给大家供大家参考,具体如下:
1. 递归
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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. 普通
1
2
3
4
5
6
7
8
9
10
11
|
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程序设计有所帮助。