PHP实现无限级分类

  实现无限级分类的方法中,有一种是利用递归的方式,网上能找到的无限级分类的博客,几乎都是使用递归实现,因为它思想和实现都很简单。

  递归实现无限级分类的实质: 数据结构中递归实现遍历树  的过程,所以应该将重点集中在树的遍历上面。

  其实递归实现无限级分为双亲表示法和孩子表示法(乱造的词),双亲表示法是用的最多的。

  双亲表示法:每个节点都会保存父节点的标识,通过这个标识可以找到他的父节点,但是没有保存他的孩子的标识,即,如果不遍历家族树的话,一个节点是不知道他的子节点的标识,甚至都不知道是否有子节点。

  下面是一棵树:

 

  用表格的形式来表示就是下面这样:

mysql> select * from category;
+----+-----------+------------+-----------+
| id | cate_name | cate_order | parent_id |
+----+-----------+------------+-----------+
|  1 | AAAA      |          3 |         0 |
|  2 | BBBB      |          2 |         1 |
|  3 | CCCC      |          4 |         1 |
|  4 | DDDD      |          3 |         1 |
|  5 | EEEE      |          2 |         2 |
|  6 | FFFF      |          3 |         2 |
|  7 | GGGG      |          7 |         3 |
|  8 | HHHH      |          4 |         4 |
|  9 | IIII      |          3 |         4 |
| 10 | JJJJ      |          2 |         4 |
+----+-----------+------------+-----------+

  

  使用递归来遍历一个由双亲表示法描述的树的过程大致如下:

  1、找到root,即根节点

  2、遍历一遍

扫描二维码关注公众号,回复: 82013 查看本文章

  找到孩子后,再找孩子的孩子,直到不能再向下搜索时,再返回到上一级,不断重复这个过程,直到所有孩子都被遍历一次。

  

猜你喜欢

转载自www.cnblogs.com/-beyond/p/8964421.html
今日推荐