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