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


Posted in PHP onJuly 28, 2015

本文实例讲述了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 相关文章推荐
PHP的FTP学习(一)[转自奥索]
Oct 09 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
ThinkPHP使用smarty模板引擎的方法
Jul 01 PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
Apr 14 PHP
php类自动加载器实现方法
Jul 28 #PHP
PHP实现的json类实例
Jul 28 #PHP
php无序树实现方法
Jul 28 #PHP
分享PHP函数实现数字与文字分页代码
Jul 28 #PHP
PHP实现简单汉字验证码
Jul 28 #PHP
PHP代码实现表单数据验证类
Jul 28 #PHP
在Mac上编译安装PHP7的开发环境
Jul 28 #PHP
You might like
附件名前加网站名
2008/03/23 PHP
JavaScript格式化数字的函数代码
2010/11/30 Javascript
用js来定义浏览器中一个左右浮动元素相对于页面主体宽度的位置的函数
2012/01/21 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
JavaScript对象学习小结
2015/09/02 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
jQuery如何封装输入框插件
2016/08/19 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
2017/08/23 jQuery
JavaScript代码调试方法实例小结
2019/01/05 Javascript
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
简单了解Python3里的一些新特性
2019/07/13 Python
关于Python-faker的函数效果一览
2019/11/28 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
解决Python安装cryptography报错问题
2020/09/03 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
2016/12/14 HTML / CSS
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
印度第一网上礼品店:IGP.com
2020/02/06 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
工地门卫岗位职责
2013/12/30 职场文书
德语专业求职信
2014/03/12 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
学前教育见习总结
2015/06/23 职场文书
Python-OpenCV实现图像缺陷检测的实例
2021/06/11 Python
Python3接口性能测试实例代码
2021/06/20 Python