<?php
//树状等级查找
//所有数据
//从mysql里面输出的全部是字符串类型
$list = array(
array('cat_id'=>'8','cat_name'=>'分类FFF','sort_order'=>'30','parent_id'=>'1'),
array('cat_id'=>'1','cat_name'=>'分类AAA','sort_order'=>'50','parent_id'=>'0'),
array('cat_id'=>'4','cat_name'=>'分类CCC','sort_order'=>'50','parent_id'=>'1'),
array('cat_id'=>'5','cat_name'=>'分类EEE','sort_order'=>'50','parent_id'=>'4'),
array('cat_id'=>'7','cat_name'=>'分类KKK','sort_order'=>'50','parent_id'=>'4'),
array('cat_id'=>'3','cat_name'=>'分类XXX','sort_order'=>'50','parent_id'=>'7'),
array('cat_id'=>'9','cat_name'=>'分类ZZZ','sort_order'=>'50','parent_id'=>'8'),
)
/** @param 当前需要查找哪个分类的后代分类
*@param $list, 当前所查找的所有的记录范围
*@param $level ,表示前函数的调用级别
*
*/
function getTree($parent_id,&$list,$level){
static $tree = array();//保存所有查找的分类
//变量所有的记录,通过parent_id的值判断
foreach($list as $row)
{ if($row['parent_id'] == $parent_id){
//自分类找到了
$tree[] = $row;
//在利用该分类,查找该分类的子分类
getTree($row['cat_id'],$list,$level+1);当
}
}
return $tree;
}
$result = getTree(0,$list,0);
str_repeat(' ',$row['level']);用空格替代等级。数值越高空格越多。
树状递归查找
最新推荐文章于 2023-06-04 23:39:29 发布