PHP 递归遍历实现无限分类

来源:互联网 发布:一万年来谁著史 知乎 编辑:程序博客网 时间:2024/06/10 06:56

创建类别表如下:

CREATE TABLE category(cat_id smallint unsigned not null auto_increment primary key comment'类别ID',cat_name VARCHAR(30)NOT NULL DEFAULT''COMMENT'类别名称',parent_id SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT'类别父ID')engine=MyISAM charset=utf8;

编写一个函数,递归遍历,实现无限分类

<?php    function tree($arr,$pid=0,$level=0){        static $list = array();        foreach ($arr as $v) {            //如果是顶级分类,则将其存到$list中,并以此节点为根节点,遍历其子节点            if ($v['parent_id'] == $pid) {                $v['level'] = $level;                $list[] = $v;                tree($arr,$v['cat_id'],$level+1);            }        }        return $list;    }?>