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 相关文章推荐
Content-type 的说明
Oct 09 PHP
用PHPdig打造属于你自己的Google[图文教程]
Feb 14 PHP
php读取数据库信息的几种方法
May 24 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
php实现的双色球算法示例
Jun 20 PHP
PHP filesize函数用法浅析
Feb 15 PHP
PDO实现学生管理系统
Mar 21 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
编写PHP的安全策略
2006/10/09 PHP
用PHP调用数据库的存贮过程!
2006/10/09 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
小议Javascript中的this指针
2010/03/18 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
超赞的jQuery图片滑块动画特效代码汇总
2016/01/25 Javascript
JS中定位 position 的使用实例代码
2017/08/06 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python中time模块和datetime模块的用法示例
2016/02/28 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
高职教师岗位职责
2013/12/24 职场文书
2014年会计主管工作总结
2014/12/20 职场文书
办公室主任岗位职责
2015/01/31 职场文书
学校中秋节活动总结
2015/03/23 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书
2015年底工作总结范文
2015/05/15 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
js 数组 fill() 填充方法
2021/11/02 Javascript