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&amp;MYSQL分页原理及实现
Jan 02 PHP
php多文件上传功能实现原理及代码
Apr 18 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
浅谈php冒泡排序
Dec 30 PHP
php实现登陆模块功能示例
Oct 20 PHP
浅谈ThinkPHP中initialize和construct的区别
Apr 01 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 PHP
利用PHP如何统计Nginx日志的User Agent数据
Mar 06 PHP
关于Curl在Swoole协程中的解决方案详析
Sep 12 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
php下的原生ajax请求用法实例分析
Feb 28 PHP
phpquery中文手册
Mar 18 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP实现异步调用方法研究与分享
2011/10/27 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
php多线程并发实现方法
2016/09/30 PHP
JavaScript DOM 添加事件
2009/02/14 Javascript
JQuery 学习笔记 选择器之四
2009/07/23 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
2013/01/16 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
微信小程序 video组件详解
2016/10/25 Javascript
微信小程序加载更多 点击查看更多
2016/11/29 Javascript
Angualrjs和bootstrap相结合实现数据表格table
2017/03/30 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
2016/04/23 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
python+selenium实现自动化百度搜索关键词
2019/06/03 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
Python文本文件的合并操作方法代码实例
2020/03/31 Python
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
物理课外活动总结
2014/08/27 职场文书
爱心募捐感谢信
2015/01/22 职场文书
初中政教处工作总结
2015/08/12 职场文书