php三种无限分类
程序员文章站
2022-09-03 15:33:41
无限分类,是指从一个最高分类开始,每个子分类都可以分出自己的若干个子分类,可以一直分下去,称为无限级分类; 下面是对省市县的无限极分类的列子。数据库如图: 代码示例如下: ......
无限分类,是指从一个最高分类开始,每个子分类都可以分出自己的若干个子分类,可以一直分下去,称为无限级分类;
下面是对省市县的无限极分类的列子。数据库如图:
代码示例如下:
/** * @description: 无限极分类一 * @author: yang * @param $data 数据库数据 * @param int $parent_id 父级id * @return array */ function gettree1($data, $parent_id = 0) { $tree = array(); foreach ($data as $k => $v) { if ($v["parent_id"] == $parent_id) { unset($data[$k]); if (!empty($data)) { $children = getcategory($data, $v["id"]); if (!empty($children)) { $v["_child"] = $children; } } $tree[] = $v; } } return $tree; } /** * @description: 无限极分类二 * @author: yang * @param $data 数据库数据 * @param int $parent_id 父级id * @param int $level 等级 * @return array */ function gettree2($data, $parent_id = 0, $level = 0) { static $tree = array(); foreach ($data as $k => $v) { if ($v["parent_id"] == $parent_id) { $v["level"] = $level; $tree[] = $v; gettree($data, $v["id"], $level + 1); } } return $tree; } /** * @description: 无限分类三:面包屑导航 * @author: yang * @param $data 数据库数据 * @param $id 分类id * @return array */ function getcrumbsbar($data, $id) { static $tree = array(); foreach ($data as $k => $v) { if ($v["id"] == $id) { getcrumbsbar($data, $v["parent_id"]); $tree[] = $v; } } return $tree; }
上一篇: 设计者考虑让机器人用尾巴与人类交流
下一篇: 比特币盘中大涨至970美元 后涨幅收窄