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程序时遇到的三个问题
Jan 17 PHP
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
Apr 02 PHP
PHP遍历并打印指定目录下所有文件实例
Feb 10 PHP
php使用Jpgraph绘制柱形图的方法
Jun 10 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP内核探索:哈希表碰撞攻击原理
Jul 31 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
php实现简单加入购物车功能
Mar 07 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
php实现每日签到功能
Nov 29 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 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
关于页面优化和伪静态
2009/10/11 PHP
c#中的实现php中的preg_replace
2009/12/21 PHP
php编写简单的文章发布程序
2015/06/18 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
关于this和self的使用说明
2010/08/01 Javascript
Javascript实现仿WebQQ界面的“浮云”兼容 IE7以上版本及FF
2011/04/27 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
使用javascript为网页增加夜间模式
2014/01/26 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
JS动态修改网页body的背景色实例代码
2017/10/07 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
vuex实现登录状态的存储,未登录状态不允许浏览的方法
2018/03/09 Javascript
关于Vue在ie10下空白页的debug小结
2018/05/02 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
python验证码识别教程之利用投影法、连通域法分割图片
2018/06/04 Python
python的scikit-learn将特征转成one-hot特征的方法
2018/07/10 Python
python判断输入日期为第几天的实例
2018/11/13 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
python基础梳理(一)(推荐)
2019/04/06 Python
浅谈python之自动化运维(Paramiko)
2020/01/31 Python
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
《称象》教学反思
2014/04/25 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
保密工作目标责任书
2014/07/28 职场文书
教师节感谢信
2015/01/22 职场文书
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang
从原生JavaScript到React深入理解
2022/07/23 Javascript