php - 实现无限级分类有几种方法呢??
本文介绍了php - 实现无限级分类有几种方法呢??的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
除了使用递归的方式实现之外还有什么方式可以实现无限级呢??
解决方案
$categories = [
['id'=>1,'cat_id'=>1,'cat_name'=>'a','pid'=>0],
['id'=>2,'cat_id'=>2,'cat_name'=>'b','pid'=>1],
['id'=>3,'cat_id'=>3,'cat_name'=>'c','pid'=>1],
['id'=>4,'cat_id'=>4,'cat_name'=>'d','pid'=>2],
['id'=>5,'cat_id'=>5,'cat_name'=>'e','pid'=>3],
];
$tree = [];
foreach($categories as $v){
$tree[$v['id']] = $v;
$tree[$v['id']]['children'] = array();
}
foreach ($tree as $k=>$v) {
if ($v['pid'] > 0) {
$tree[$v['pid']]['children'][] = &$tree[$k];
}
}
print_r($tree);
这篇关于php - 实现无限级分类有几种方法呢??的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文