php教程

超轻量级php框架startmvc

php递归实现无限分类的方法

更新时间:2020-03-05 04:20:46 作者:startmvc
本文实例讲述了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程序设计有所帮助。

php 递归 无限分类