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程序设计有所帮助。