php递归实现无限分类的方法
本文实例讲述了php递归实现无限分类的方法。分享给大家供大家参考。具体如下:
<?php
$rows=array(
array(
'id'=>1,
'name'=>'dev',
'parentid'=>0
),
array(
'id'=>2,
'name'=>'php',
'parentid'=>1
),
array(
'id'=>3,
'name'=>'smarty',
'parentid'=>2
),
array(
'id'=>4,
'name'=>'life',
'parentid'=>0
),
array(
'id'=>5,
'name'=>'pdo',
'parentid'=>2
),
array(
'id'=>6,
'name'=>'pdo-mysql',
'parentid'=>5
),
array(
'id'=>7,
'name'=>'java',
'parentid'=>1
)
);
//72648
//84072
functionfindChild(&$arr,$id){
$childs=array();
foreach($arras$k=>$v){
if($v['parentid']==$id){
$childs[]=$v;
}
}
return$childs;
}
functionbuild_tree($root_id){
global$rows;
$childs=findChild($rows,$root_id);
if(empty($childs)){
returnnull;
}
foreach($childsas$k=>$v){
$rescurTree=build_tree($v[id]);
if(null!=$rescurTree){
$childs[$k]['childs']=$rescurTree;
}
}
return$childs;
}
$tree=build_tree(0);
echomemory_get_usage();
print_r($tree);
?>
希望本文所述对大家的php程序设计有所帮助。