( [0] => array ( [id] => 1 [name] => dev [parentid] => 0 [childs] => array ( [0] => array ( [id] => 2 [name] => php [parentid] => 1 [childs] => array ( [0] => array ( [id] => 3 [name] => smarty [parentid] => 2 ) [1] => array
( [id] => 5 [name] => pdo [parentid] => 2 [childs] => array ( [0] => array ( [id] => 6 [name] => pdo-mysql [parentid] => 5 ) )
)
)
)
[1] => array
( [id] => 7 [name] => java [parentid] => 1 ) )
)
[1] => array
( [id] => 4 [name] => life [parentid] => 0 ))
复制代码
看有没有更简单的实现方法
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
// 84072function 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无限分类的例子(仿淘宝商品分类)php实现的无限分类(递归版本)的例子使用php数组实现的无限分类(不使用数据库与用递归)php写的一个递归实现无限分类生成下拉列表的函数
