php的无限极分类怎么实现
- 来源:纵横数据
- 作者:中横科技
- 时间:2017/11/16 14:24:40
- 类别:新闻资讯
每一个无限分类都需要记录它的父级id,当为顶级分类时,父级id为0.这样无论哪个分类都可以通过父级id一层 层的去查明它所有的父级,以便清楚知道它所属哪种分类,层级深度为多少,无限分类在实际开发中非常常用,无限分类在面试中也会常被问到
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | include PHP /* 使用的是三种递归中的一种 & /* include ( 'Catecontroller.php' ); //引入连接数据库文件 function getList( $pid = 0, & $result = array (), $spac = 0) { $spac = $spac + 2; //标题前空格重复的次数 $sql = "SELECT * FROM cate WHERE pid= $pid" ; //根据父id查找数据 $res = mysql_query( $sql ); //发送sql语句 while ( $row = mysql_fetch_assoc( $res )) { //判断$row里的值是否为空然后再循环 $row [ 'cate_name' ] = str_repeat ( ' ' , $spac ). '|--' . $row [ 'cate_name' ]; //str_repeat 重复括号里的字符串,后面跟的是次数 $result [] = $row ; //把数组赋给 $result getList( $row [ 'id' ], $result , $spac ); //递归调用,自己调用自己 这个括号里的参数和上面getList($pid=0...)是一样的$row['id']==$pid=0; } return $result ; //把结果返回出去 } $rs = getList(); //使用方法 var_dump( $rs ); //打印方法结果 |
以上无限分类用的是递归算法,递归算法简单的解释就是自己调用自己。
声明:文章来自网络转载,若无意中有侵犯您权益的信息,请联系我们,我们会在
第一时间删除!