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 相关文章推荐
pw的一个放后门的方法分析
Oct 08 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
php 过滤器实现代码
Aug 09 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
PHP的Socket网络编程入门指引
Aug 11 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
解析WordPress中函数钩子hook的作用及基本用法
Dec 22 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
PHP 之Section与Cookie使用总结
2012/09/14 PHP
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
python清除字符串里非字母字符的方法
2015/07/02 Python
python @property的用法及含义全面解析
2018/02/01 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
会走动的图形html5时钟示例
2014/04/27 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
初中生三年学习生活的自我评价
2013/11/03 职场文书
团员个人的自我评价
2013/12/02 职场文书
市三好学生主要事迹
2014/01/28 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
投资协议书范本
2014/04/21 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
2014小学语文教学工作总结
2014/12/17 职场文书
财务个人年度总结范文
2015/02/26 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书