无极限分类

1.效果

2.二维数组(从表中读取到)

    $arr=array(    
        1=>array('id'=>'1','name'=>'北京','pid'=>'0'),    
        2=>array('id'=>'2','name'=>'上海','pid'=>'0'),    
        3=>array('id'=>'3','name'=>'浦东','pid'=>'2'),    
        4=>array('id'=>'4','name'=>'朝阳','pid'=>'1'),    
        5=>array('id'=>'5','name'=>'广州','pid'=>'0'),    
        6=>array('id'=>'6','name'=>'三里屯','pid'=>'4'),   
        7=>array('id'=>'7','name'=>'广东','pid'=>'5'),   
        8=>array('id'=>'8','name'=>'三里','pid'=>'4'),  
        10=>array('id'=>'10','name'=>'小胡同','pid'=>'8')  
        );   

3.无极限分类

    function GetTree($arr,$pid,$step){
        global $tree;
        foreach($arr as $key=>$val) {
            if($val['pid'] == $pid) {
                $flg = str_repeat('-----',$step);
                $val['name'] = $flg.$val['name'];
                $tree[] = $val;
                GetTree($arr , $val['id'] ,$step+1);
            }
        }
        return $tree;
    }

4.整体代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<?php
    $arr=array(    
        1=>array('id'=>'1','name'=>'北京','pid'=>'0'),    
        2=>array('id'=>'2','name'=>'上海','pid'=>'0'),    
        3=>array('id'=>'3','name'=>'浦东','pid'=>'2'),    
        4=>array('id'=>'4','name'=>'朝阳','pid'=>'1'),    
        5=>array('id'=>'5','name'=>'广州','pid'=>'0'),    
        6=>array('id'=>'6','name'=>'三里屯','pid'=>'4'),   
        7=>array('id'=>'7','name'=>'广东','pid'=>'5'),   
        8=>array('id'=>'8','name'=>'三里','pid'=>'4'),  
        10=>array('id'=>'10','name'=>'小胡同','pid'=>'8')  
        );   
    function GetTree($arr,$pid,$step){
        global $tree;
        foreach($arr as $key=>$val) {
            if($val['pid'] == $pid) {
                $flg = str_repeat('-----',$step);
                $val['name'] = $flg.$val['name'];
                $tree[] = $val;
                GetTree($arr , $val['id'] ,$step+1);
            }
        }
        return $tree;
    }
$newarr = GetTree($arr, 0, 0);
// var_dump($newarr);
$str='<table width="400" border="1" cellspacing="0" cellpadding="0">';
foreach($newarr as $k=>$v){
    $str.="<tr>";
    $str.="<td>".$v['id']."</td>";
    $str.="<td>".$v['name']."</td>";
    $str.="<td>修改 删除</td>";
    $str.="</tr>";
}
$str.="</table>";
echo $str;
?>

<table>
    <tr>
        <td></td>
    </tr>
</table>
</body>
</html>

 

posted on 2017-12-29 16:46  薇薇123456  阅读(178)  评论(0编辑  收藏  举报

导航