美文网首页
PHP实现无限级分类

PHP实现无限级分类

作者: boystark | 来源:发表于2017-08-16 20:11 被阅读29次
  • php中经常用到无限级分类,牵涉到两种情况
  1. 找指定栏目的子孙栏目,即子孙树
  2. 找指定的栏目的父栏目/父栏目....顶级栏目 家谱树

假定给定的数据如下:

$data = array(
['id'=>1,'city'=>'北京','parent'=>0],
['id'=>2,'city'=>'上海','parent'=>0],
['id'=>3,'city'=>'深圳','parent'=>0],

['id'=>4,'city'=>'朝阳','parent'=>1],
['id'=>5,'city'=>'浦东','parent'=>2],
['id'=>6,'city'=>'福田','parent'=>3],

['id'=>7,'city'=>'三里屯','parent'=>4],
['id'=>8,'city'=>'浦东机场','parent'=>5],
['id'=>9,'city'=>'岗厦','parent'=>6],

['id'=>10,'city'=>'岗厦村','parent'=>9],
);

子孙树

function echoCityName($arr,$id){
    if($id !== 0){
        echo $arr[$id-1]['city'];
        getChilrend($arr,$id);
    }else{
        echo 'id不存在';
    }

}

function getChilrend($arr,$id=0){
    //echo $arr[$id]['city'];
    foreach($arr as $k=>$v){
        if($v['parent'] == $id){
            echo $v['city'];
            return getChilrend($arr,$v['id']);
        }
    }
    return ;
}

echoCityName($dataRes,$id=3);//寻找id为3的子孙栏目

结果

子孙树

家谱树

function getParents($arr,$id){
    foreach ($arr as $k => $v){
        if($v['id'] == $id){
            echo $v['city'];
            return getParents($arr ,$v['parent']);
        }

    }
    return ;
}
getParents($dataRes,$id=10);
echo '</br>';
getParents($dataRes,$id=8);
echo '</br>';
getParents($dataRes,$id=4);

结果

家谱树

相关文章

  • PHP递归实现无限级分类

    PHP递归实现无限级分类 在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何...

  • PHP实现无限级分类

    php中经常用到无限级分类,牵涉到两种情况 找指定栏目的子孙栏目,即子孙树 找指定的栏目的父栏目/父栏目....顶...

  • PHP实现无限级分类

    数据格式: 非递归算法 递归算法 最终结果 原创作品,允许转载,转载时请务必以超链接形式标明原始出处、作者信息和本...

  • php实现无限极分类

    一、两种实现php无限极分类 设置原始数据 1. 使用php递归实现php无限极分类 通过foreach循环实现无...

  • PHP无限级分类

    layout: posttitle: "PHP无限级分类"date: 2016-04-29 09:36:19 +0...

  • PHP 实现无限级分类的方式

    引用式(性能更好) 引用式无限极分类 必须存在主键id 必须存在父级 pid 递归式 递归的方式就不多说了,直接上...

  • PHP实现无限级分类(递归+引用)

    原始数据 数据库image 打印到页面image 递归 递归的思路就是【找儿子】,也就是循环所有数据,找到每条数据...

  • PHP实现无限级分类(递归+引用)

    原始数据 数据库原始数据 打印到页面原始数据 递归 递归的思路就是【找儿子】,也就是循环所有数据,找到每条数据的所...

  • 无限级分类(php+mysql实现)

    一、邻接表模型 邻接表模型中,数据表中的每项包含了指向其父项的指示器,最上层项的父项为0建立表结构: 特点 通过这...

  • php递归实现无限级分类树

    http://www.php.cn/php-weizijiaocheng-353267.html

网友评论

      本文标题:PHP实现无限级分类

      本文链接:https://www.haomeiwen.com/subject/vycwrxtx.html