/**
* @param $cateid
* 获取某个分类的所有子孙分类id(包括自身的id)
*/
function getCateChilds($cateid){
//获取所有记录
$records=M("InformationsCate")->field('id,level,parent_id')->where(['status'=>1])->select();
//获取最大等级
$max_level=M("InformationsCate")->field('level')->where(['status'=>1])->order('level desc')->find()['level'];
//获取当前分类的等级
$my_level=M("InformationsCate")->where(['id'=>$cateid])->getField('level');
//用于记录该分类的所有子分类,包括自身
$my_child=[$cateid];
//取出该分类的子分类ids
for($i=$max_level;$i>$my_level;$i--){
foreach($records as $key=>$val){
if(in_array($val['parent_id'],$my_child)){
$my_child[]=$val['id'];unset($records[$key]);
}
}
}
return $my_child;
}
获取某个分类的所有子孙分类id(不使用递归的一种实现技巧)
最新推荐文章于 2023-04-24 10:37:57 发布