我有一个 分类树如下:
Array(
    [0] => Array
        (
            [id] => 1
            [name] => 菜单栏目1
            [parentid] => 0
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 2
                            [name] => 菜单栏目1-1
                            [parentid] => 1
                            [child] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 7
                                            [name] => 菜单栏目1-1-1
                                            [parentid] => 2
                                        )                                    [1] => Array
                                        (
                                            [id] => 8
                                            [name] => 菜单栏目1-1-2
                                            [parentid] => 2
                                        )                                    [2] => Array
                                        (
                                            [id] => 9
                                            [name] => 菜单栏目1-1-3
                                            [parentid] => 2
                                        )                                )                        )                    [1] => Array
                        (
                            [id] => 3
                            [name] => 菜单栏目1-2
                            [parentid] => 1
                        )                    [2] => Array
                        (
                            [id] => 4
                            [name] => 菜单栏目1-3
                            [parentid] => 1
                        )                    [3] => Array
                        (
                            [id] => 5
                            [name] => 菜单栏目1-4
                            [parentid] => 1
                        )                    [4] => Array
                        (
                            [id] => 6
                            [name] => 菜单栏目1-5
                            [parentid] => 1
                        )                )        )    [1] => Array
        (
            [id] => 10
            [name] => 菜单栏目2
            [parentid] => 0
            [child] => Array
                (
                    [0] => Array
                        (
                            [id] => 11
                            [name] => 菜单栏目2-1
                            [parentid] => 10
                        )                )        ))想分解成 
菜单栏目1
    菜单栏目1-1
        菜单栏目1-1-1
    参贷栏目1-2
菜单栏目2
    菜单栏目2-1
    菜单栏目2-2
这样的结果 请问 如何 循环分解 这个树 是N维 数组

解决方案 »

  1.   

    <xmp>
    <?php
    $a = array (
      0 => 
      array (
        'id' => '1',
        'name' => '菜单栏目1',
        'parentid' => '0',
        'child' => 
        array (
          0 => 
          array (
            'id' => '2',
            'name' => '菜单栏目1-1',
            'parentid' => '1',
            'child' => 
            array (
              0 => 
              array (
                'id' => '7',
                'name' => '菜单栏目1-1-1',
                'parentid' => '2',
              ),
              1 => 
              array (
                'id' => '8',
                'name' => '菜单栏目1-1-2',
                'parentid' => '2',
              ),
              2 => 
              array (
                'id' => '9',
                'name' => '菜单栏目1-1-3',
                'parentid' => '2',
              ),
            ),
          ),
          1 => 
          array (
            'id' => '3',
            'name' => '菜单栏目1-2',
            'parentid' => '1',
          ),
          2 => 
          array (
            'id' => '4',
            'name' => '菜单栏目1-3',
            'parentid' => '1',
          ),
          3 => 
          array (
            'id' => '5',
            'name' => '菜单栏目1-4',
            'parentid' => '1',
          ),
          4 => 
          array (
            'id' => '6',
            'name' => '菜单栏目1-5',
            'parentid' => '1',
          ),
        ),
      ),
      1 => 
      array (
        'id' => '10',
        'name' => '菜单栏目2',
        'parentid' => '0',
        'child' => 
        array (
          0 => 
          array (
            'id' => '11',
            'name' => '菜单栏目2-1',
            'parentid' => '10',
          ),
        ),
      ),
    );function show($ar, $deep=0) {
      foreach($ar as $item) {
        echo str_repeat(' ', $deep) . $item['name'] . PHP_EOL;
        if(! empty($item['child'])) show($item['child'], $deep+1);
      }
    }show($a);菜单栏目1
     菜单栏目1-1
      菜单栏目1-1-1
      菜单栏目1-1-2
      菜单栏目1-1-3
     菜单栏目1-2
     菜单栏目1-3
     菜单栏目1-4
     菜单栏目1-5
    菜单栏目2
     菜单栏目2-1