分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

php实现无限极分类

发布时间:2023-09-06 01:26责任编辑:郭大石关键词:暂无标签

生成无限极分类

private function GetTree($arr,$pid,$step){ ???global $tree; ???foreach($arr as $key=>$val) { ???????if($val[‘pid‘] == $pid) { ???????????$flg = str_repeat(‘└―‘,$step); ???????????$val[‘name‘] = $flg.$val[‘name‘]; ???????????$tree[] = $val; ???????????$this->GetTree($arr , $val[‘cid‘] ,$step+1); ???????} ???} ???return $tree;}
调用:
$newarr = $this->GetTree($arr, 0, 0);

根据子类id查找出所有父级分类信息

方法一:

 //$arr 所有分类列表 //$id 父级分类idpublic static function get_parent_list($arr,$id){ ???????static $list=array(); ???????foreach($arr as $u) ??????{ ???????????if($u[‘id‘]== $id) ???????????{ ??//父级分类id等于所查找的id ???????????????$list[]=$u; ???????????????if($u[‘parent_id‘]>0) ???????????????{ ???????????????????self::get_parent_list($arr,$u[‘parent_id‘]); ???????????????} ???????????} ???????} ??????return $list; } ???????????????

方法二:递归查询取分类信息

// $id ?要查询的 子栏目id public static function get_parents($id){ ???????static $list = []; ???????// Yii2 框架 ????????$cat_data = Category::findOne($id)->toarray(); ???????if($cat_data) ??????{ ???????????$list[] = $cat_data; ???????????$id = $cat_data[‘parent_id‘]; ????????????if($cat_data[‘parent_id‘] > 0) ???????????{ ???????????????self::get_parents($id); ????????????} ???????} ???????return $list;} ????

根据父id获得所有下级子类id的数据

//$id = 父级id ?$array = 所有分类public function getSon($id,$array){ ???????static $list; ???????foreach ($array as $k => $v) ???????{ ???????????if($v[‘parent_id‘] == $id) ???????????{ ???????????????$list[] = $array[$k]; ???????????????self::getSon($v[‘id‘],$array); ???????????} ???????} ???????return $list;}

php实现无限极分类

原文地址:https://www.cnblogs.com/xuey/p/8629487.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved