在php中准备树

时间:2015-12-30 07:43:08

标签: php arrays multidimensional-array

我有以下数组。

Array
(
[a] => Array
    (
        [d] => Array
            (
                [f] => Array
                    (
                    )

                [g] => Array
                    (
                        [h] => Array
                            (
                            )

                        [i] => Array
                            (
                            )

                    )

                [j] => Array
                    (
                    )

            )

        [e] => Array
            (
            )

    )

[b] => Array
    (
    )

[c] => Array
    (
    )

)

我尝试使用以下代码但未获得所需的输出。

str($treeArr);

 function str($arr){
    foreach($arr as $key=>$value){
        if(!empty($value)){
            echo $key.">";
            str($value);
        }
        else{
            echo $key."<br>";
        }
    }
}

我需要关注输出。

a>d>f
a>d>g>h
a>d>g>i
a>d>j
a>e
b
c

1 个答案:

答案 0 :(得分:1)

大家好,这就是你想要的吗?

$a=array('a'=>array('d'=>array('f'=>array(),
                               'g'=>array('h'=>array(),
                                          'i'=>array()),
                               'j'=>array()),
                    'e'=>array()),
         'b'=>array(),
         'c'=>array()
);                                                                                                                       
str($a);
function str($arr){
   static $temp=array();
   foreach($arr as $k=>$v){
      $temp[]=$k;  
      if(!empty($v)){
         str($v);
      }else{
         $str=implode(">",$temp);
         echo $str."\n";
      }  
      array_pop($temp);
   }  
}

输出:

a>d>f 
a>d>g>h
a>d>g>i
a>d>j
a>e
b
c