码迷,mamicode.com
首页 > 其他好文 > 详细

夺命雷公狗---无限级分类NO7

时间:2015-10-25 00:55:57      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

<?php
    header("Content-Type:text/html;charset=utf-8");
    $aarr = array(
        array(‘id‘=>1,‘name‘=>‘安徽‘,‘pid‘=>0),
        array(‘id‘=>2,‘name‘=>‘海淀‘,‘pid‘=>7),
        array(‘id‘=>3,‘name‘=>‘浣溪县‘,‘pid‘=>5),
        array(‘id‘=>4,‘name‘=>‘昌平‘,‘pid‘=>7),
        array(‘id‘=>5,‘name‘=>‘淮北‘,‘pid‘=>1),
        array(‘id‘=>6,‘name‘=>‘朝阳‘,‘pid‘=>7),
        array(‘id‘=>7,‘name‘=>‘北京‘,‘pid‘=>0),
        array(‘id‘=>8,‘name‘=>‘上地‘,‘pid‘=>2)
    );
    
    function substree($arr,$pid=0){
        $task = array($pid); //任务表
        $tree = array(); //地区表
        
        while(!empty($task)){
            $flag = false;
            
            foreach($arr as $k=>$v){
                if($v[‘pid‘] == $pid){
                    $tree[] = $v;
                    array_push($task,$v[‘id‘]);  //把最新地区id入任务栈
                    $pid = $v[‘id‘];
                    unset($arr[$k]);  //把单元unset掉
                    
                    $flag = true;  //说明找到子栏目
                }
            }
            if($flag == false){
                array_pop($task);
                $pid = end($task);
            }
            //print_r($task);
        }
        return $tree;
    }
    echo "<pre>";
    print_r(substree($aarr,0));

 

 

 

 这是使用迭代法找子孙树的方法

夺命雷公狗---无限级分类NO7

标签:

原文地址:http://www.cnblogs.com/leigood/p/4908031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!