不递归如何遍历多维数组(维数不定)
现有数组
$tree=array(
array(
'ID'=>1,
'PARENT'=>0,
'NAME'=>'祖父',
'CHILD'=>array(
array(
'ID'=>3,
'PARENT'=>1,
'NAME'=>'叔伯'
),
array(
'ID'=>4,
'PARENT'=>1,
'NAME'=>'父亲',
'CHILD'=>array(
array(
'ID'=>5,
'PARENT'=>4,
'NAME'=>'儿子'
)
)
)
)
),
array(
'ID'=>2,
'PARENT'=>0,
'NAME'=>'祖母'
)
);
欲达到效果的HTML代码
祖父叔伯父亲儿子祖母
不知道多维数组的具体维数,根据数据库得到的信息获得。
不使用递归,能实现这个效果吗
------解决思路----------------------
你是递归来的,当然应该递归去$tree=array(
array(
'ID'=>1,
'PARENT'=>0,
'NAME'=>'祖父',
'CHILD'=>array(
array(
'ID'=>3,
'PARENT'=>1,
'NAME'=>'叔伯'
),
array(
'ID'=>4,
'PARENT'=>1,
'NAME'=>'父亲',
'CHILD'=>array(
array(
'ID'=>5,
'PARENT'=>4,
'NAME'=>'儿子'
)
)
)
)
),
array(
'ID'=>2,
'PARENT'=>0,
'NAME'=>'祖母'
)
);
function递归($ar,$deep=0){
echostr_repeat("\t",$deep)."
\n";
foreach($aras$item){
echostr_repeat("\t",$deep+1)."
$item[NAME]";
if(isset($item['CHILD'])){
echo"\n";
递归($item['CHILD'],$deep+2);
}
echo"
\n";
}
echostr_repeat("\t",$deep)."
\n";
}
递归($tree);