php无限极分类

Posted 月下追魂的故事

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php无限极分类相关的知识,希望对你有一定的参考价值。

/** 所有的分类
 * @parem $array 数组
 * @parem $pid ,最高级别,默认为0,输出从pid 级别的数据
 * @parem $level 层级,默认0
 * */
function getTree($array, $pid =0, $level = 0){

    $f_name=__FUNCTION__; // 定义当前函数名

    //声明静态数组,避免递归调用时,多次声明导致数组覆盖
    static $list = [];

    foreach ($array as $key => $value){
        //第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点
        if ($value[‘pid‘] == $pid){
            //父节点为根节点的节点,级别为0,也就是第一级
            $flg = str_repeat(‘|--‘,$level);
            // 更新 名称值
            $value[‘n‘] = $flg.$value[‘n‘];
            // 输出 名称
            echo $value[‘n‘]."<br/>";
            //把数组放到list中
            $list[] = $value;
            //把这个节点从数组中移除,减少后续递归消耗
            unset($array[$key]);
            //开始递归,查找父ID为该节点ID的节点,级别则为原级别+1
            $f_name($array, $value[‘id‘], $level+1);
        }
    }
    return $list;
}
// 调用
$list=getTree($array);

以上是关于php无限极分类的主要内容,如果未能解决你的问题,请参考以下文章

PHP无限极分类

PHP无限极分类 - 3 - 分类目录

php递归无限极分类怎么弄

关于PHP无限极分类

PHP无限极分类,多种方法|很简单,这里说的很详细,其它地方说的很不好懂

PHP使用引用实现无限极分类