php递归实现无限分类的方法 |
本文标签: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 function findChild(&$arr,$id){ $childs=array(); foreach ($arr as $k => $v){ if($v[parentid]== $id){ $childs[]=$v; } } return $childs; } function build_tree($root_id){ global $rows; $childs=findChild($rows,$root_id); if(empty($childs)){ return null; } foreach ($childs as $k => $v){ $rescurTree=build_tree($v[id]); if( null != $rescurTree){ $childs[$k][childs]=$rescurTree; } } return $childs; } $tree=build_tree(0); echo memory_get_usage(); print_r($tree); ?> 希望本文所述对大家的php程序设计有所帮助 。 |