我有以下数组。
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
答案 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