无限极分类php实现—查子孙树、家谱树

<?php


// 无限级分类中,查家谱树 


$area = array(
0=>array('cat_id'=>1,'cat_name'=>'北京市','parent_id'=>0),
1=>array('cat_id'=>2,'cat_name'=>'馆陶县','parent_id'=>5),
2=>array('cat_id'=>3,'cat_name'=>'海淀区','parent_id'=>1),
3=>array('cat_id'=>4,'cat_name'=>'朝阳区','parent_id'=>1),
4=>array('cat_id'=>5,'cat_name'=>'邯郸市','parent_id'=>6),
5=>array('cat_id'=>6,'cat_name'=>'河北省','parent_id'=>0),
);


function gettree($arr,$cat_id) {
        static $list = array();
        static $num = 0;
        foreach($arr as $v) {
         echo ++$num .'<br />';
            if($v['cat_id'] == $cat_id) {
            	$num = 0;
                gettree($arr,$v['parent_id']);
                $list[] = $v;           
            }
        }


        return $list;
    }


$list = gettree($area,2);


print_r($list);



?>


<?php

// 无限级分类中,查找子孙树

$area = array(
0=>array('cat_id'=>1,'cat_name'=>'北京市','parent_id'=>0),
1=>array('cat_id'=>2,'cat_name'=>'馆陶县','parent_id'=>5),
2=>array('cat_id'=>3,'cat_name'=>'海淀区','parent_id'=>1),
3=>array('cat_id'=>4,'cat_name'=>'朝阳区','parent_id'=>1),
4=>array('cat_id'=>5,'cat_name'=>'邯郸市','parent_id'=>6),
5=>array('cat_id'=>6,'cat_name'=>'河北省','parent_id'=>0),
);

function catsort($arr,$parent_id = 0,$lev=1) {
    static $list = array();
  	static $num = 0;
    foreach($arr as $v) {
    	echo ++$num . '<br />';
        if($v['parent_id'] == $parent_id) {
        	$num = 0;
            $v['lev'] = $lev;
            $list[] = $v;
            catsort($arr,$v['cat_id'],$lev+1);
        }
    }
    return $list;
}

$list = catsort($area,0,1);

foreach($list as $v) {
    echo str_repeat('    ',$v['lev']),$v['cat_name'],'<br />';
}

?>


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值