Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 大分类
            [parentid] => 0
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [name] => 大分类的子分类1
                            [parentid] => 1
                            [child] => Array
                                (
                                )                        )                    [1] => Array
                        (
                            [id] => 3
                            [name] => 大分类的子分类2
                            [parentid] => 1
                            [child] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 7
                                            [name] => 大分类的子分类2的子分类1
                                            [parentid] => 3
                                            [child] => Array
                                                (
                                                )                                        )                                    [1] => Array
                                        (
                                            [id] => 8
                                            [name] => 大分类的子分类2的子分类2
                                            [parentid] => 3
                                            [child] => Array
                                                (
                                                )                                        )                                )                        )                    [2] => Array
                        (
                            [id] => 4
                            [name] => 大分类的子分类3
                            [parentid] => 1
                            [child] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 6
                                            [name] => 大分类2的子分类
                                            [parentid] => 4
                                            [child] => Array
                                                (
                                                )                                        )                                )                        )                )        )    [1] => Array
        (
            [id] => 5
            [name] => 大分类2
            [parentid] => 0
            [child] => Array
                (
                )        ))
是这样吗?
不过你的name与id、parentid不配套

解决方案 »

  1.   

    楼主,看一下,这样行不?
    $num=count($a);
    print_r($a);
    getchild('0');
    function getchild($parentid) {
    global $num,$a;
          for($i=0;$i<=$num;$i++)
        { //echo $a[$i]['id'];
      if($a[$i]['parentid']==$parentid) {
       echo $a[$i]['name']."<br>";
               getchild($a[$i]['id']);
       }
     }
    }
      

  2.   

    就是要唠叨大哥的那种效果,不好意思第五个写错了:)。就是根据parentid挂到上级数组去。楼上输出的结构不一样,而且要返回数组,不是输出。 5=>array(
    'id'=>'6',
    'name'=>"大分类2的子分类",
    'parentid'=>'5',
    ),
      

  3.   

    <?php
          $array=array(array(1,0,'AAAA'),
                  array(2,1,'BBBB'),
                  array(3,1,'CCCC'),
                  array(4,1,'DDDD'),
                  array(5,2,'EEEE'),
                  array(6,2,'FFFF'),
                  array(7,5,'GGGG'),
                  array(8,5,'HHHH'),
                  array(9,7,'IIII'),
                  array(10,9,'JJJJ'),
                  array(21,3,'LLLL'),
                  array(22,21,'MMMM'),
                  array(23,22,'NNNN'),
                  array(24,21,'OOOO'),
                  array(25,23,'PPPP'),
                  array(26,24,'QQQQ')
                  );
    function listTree($array,$id,$parent,$title,$start,$nbsp){
        $pre="";
        for ($i=0; $i<=$nbsp; $i++) {
                 $pre.="&nbsp;&nbsp;";
        }
        if($parent==0) echo $title."<br/>\n";    for($i=$start;$i<sizeof($array);$i++){
            if($array[$i][1]==$id){
                echo $pre.$array[$i][2] ."<br/>\n";
                listTree($array,$array[$i][0],$array[$i][1],$array[$i][2],$i+1,$nbsp+1);
            }
        }
    }
    listTree($array,1,0,'AAA',1,0);
    ?>自己改改吧
      

  4.   

    <?php
    $a=array(
    0=>array(
    'id'=>'1',
    'name'=>"大分类",
    'parentid'=>'0',
    ), 1=>array(
    'id'=>'2',
    'name'=>"大分类的子分类1",
    'parentid'=>'1',
    ), 2=>array(
    'id'=>'3',
    'name'=>"大分类的子分类2",
    'parentid'=>'1',
    ), 3=>array(
    'id'=>'4',
    'name'=>"大分类的子分类3",
    'parentid'=>'1',
    ), 4=>array(
    'id'=>'5',
    'name'=>"大分类2",
    'parentid'=>'0',
    ), 5=>array(
    'id'=>'6',
    'name'=>"大分类的子分类3的子分类",
    'parentid'=>'4',
    ), 6=>array(
    'id'=>'7',
    'name'=>"大分类的子分类2的子分类1",
    'parentid'=>'3',
    ), 7=>array(
    'id'=>'8',
    'name'=>"大分类的子分类2的子分类2",
    'parentid'=>'3',
    ),);function p($ar,$k=0) {
      $ret = array();
      foreach($ar as $v) {
        if(!is_array($v)) return $ar;
        if($v[parentid] == $k) {
          $ret[] = array_merge($v,array(child=>p($ar,$v[id])));
        }
      }
      return $ret;
    }$r = p($a);
    print_r($r);
    ?>
      

  5.   

    非常感谢 xuzuning(唠叨)。这两天老是上不了csdn。结账。