PHP迭代与递归实现无限级分类

无限级分类是开发中常见的情况,因此本文对常见的无限极分类算法进行总结归纳.

1.循环迭代实现

php无限极分类(无限级分类三种方法)(1)

输出:

php无限极分类(无限级分类三种方法)(2)

分析:

这个算法利用了循环迭代,将线性结构按照父子关系以树形结构输出,算法的关键在于使用了引用.

优点:速度快,效率高.

缺点:数组的key值必须与id值相同,不便于取出数据(使用递归获取数据)


2.递归实现

php无限极分类(无限级分类三种方法)(3)php无限极分类(无限级分类三种方法)(4)

输出:

php无限极分类(无限级分类三种方法)(5)

分析:

利用了递归,数组的key值与id值可以不相同,最后以顺序的结构输出数组

优点:方便遍历,查找父子元素

缺点:php不擅长递归,数据量大的情况下效率会显著降低