本篇文章给大家带来的内容是关于php无限分类的3种实现方法(总结),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

无限分类,是指从一个最高分类开始,每个子分类都可以分出自己的若干个子分类,可以一直分下去,称为无限级分类;

下面是对省市县的无限极分类的列子。数据库如图:

php无限分类的3种实现方法(总结)

代码示例如下:

/**  * @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; }
标签
DT素材网

DT素材网

144

0

0

( 此人很懒并没有留下什么~~ )