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版(1)
Oct 09 PHP
PHP的SQL注入实现(测试代码安全不错)
Feb 27 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
php中的PHP_EOL换行符详细解析
Oct 26 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
PHPUnit安装及使用示例
Oct 29 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php使用socket调用http和smtp协议实例小结
Jul 26 PHP
详解no input file specified 三种解决方法
Nov 29 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
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
javascript使用输出语句实现网页特效代码
2015/08/06 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
JavaScript 异步调用
2017/10/25 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
react build 后打包发布总结
2018/08/24 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
Python获取邮件地址的方法
2015/07/10 Python
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
python MySQLdb使用教程详解
2018/03/20 Python
Flask之flask-script模块使用
2018/07/26 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
详解10个可以快速用Python进行数据分析的小技巧
2019/06/24 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
python分别打包出32位和64位应用程序
2020/02/18 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
python利用opencv保存、播放视频
2020/11/02 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
Booking.com德国:预订最好的酒店和住宿
2020/02/16 全球购物
SQL Server面试题
2016/10/17 面试题
绝对经典成功的大学生推荐信
2013/11/08 职场文书
1亿有多大教学反思
2014/05/01 职场文书
党的群众路线教育实践活动整改落实情况自查报告
2014/10/28 职场文书
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python
Windows Server 2016服务器用户管理及远程授权图文教程
2022/08/14 Servers