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 相关文章推荐
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP 加密解密内部算法
Apr 22 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
php GeoIP的使用教程
Mar 09 PHP
解析php DOMElement 操作xml 文档的实现代码
May 10 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
php正则替换处理HTML页面的方法
Jun 17 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
[原创]php实现子字符串位置相互对调互换的方法
Jun 02 PHP
PHP新特性详解之命名空间、性状与生成器
Jul 18 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 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导出中文乱码及phpmyadmin导入中文乱码的解决方法
2010/06/11 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
javascript 隔行换色函数代码
2010/10/24 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
JS获取及验证开始结束日期的方法
2016/08/20 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
2016/09/04 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
推荐11个实用Python库
2015/01/23 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
python 调用HBase的简单实例
2016/12/18 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
python统计字符的个数代码实例
2020/02/07 Python
Django多数据库配置及逆向生成model教程
2020/03/28 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
柏林通行证:Berlin Pass
2018/04/11 全球购物
物业管理大学生个人的自我评价
2013/10/10 职场文书
婚礼主持词
2014/03/13 职场文书
优秀大学生事迹材料
2014/12/24 职场文书
个人政治思想总结
2015/03/05 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
Java新手教程之ArrayList的基本使用
2021/06/20 Java/Android
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang
apache ftpserver搭建ftp服务器
2022/05/20 Servers
python实现商品进销存管理系统
2022/05/30 Python