php生成无限栏目树


Posted in PHP onMarch 16, 2017

栏目数组:

$arr=Array(
  Array('cid' => 2,'cname' => '新闻','pid' => 0),
  Array('cid' => 4,'cname' =>'体育','pid' => 0),
  Array('cid' => 5,'cname' => '娱乐','pid' => 0),
  Array('cid' => 7,'cname' => '热点新闻','pid' =>2),
  Array('cid' => 8,'cname' => '小众新闻','pid' => 2),
  Array('cid' => 9,'cname' => '民谣新闻','pid' => 8),
);
<?php
$arr=Array(
  Array('cid' => 2,'cname' => '新闻','pid' => 0),
  Array('cid' => 4,'cname' =>'体育','pid' => 0),
  Array('cid' => 5,'cname' => '娱乐','pid' => 0),
  Array('cid' => 7,'cname' => '热点新闻','pid' =>2),
  Array('cid' => 8,'cname' => '小众新闻','pid' => 2),
  Array('cid' => 9,'cname' => '民谣新闻','pid' => 8),
);
function formatTree($array, $pid = 0,$level = 1,$field = array('pid'=>'pid','id'=>'id','children'=>'children')){
    $arr = array();
    foreach ($array as &$v) {
      if ($v[$field['pid']] == $pid) {
        $v['level'] = $level;
        $tem = formatTree($array, $v[$field['id']],$v['level']+1,$field);
        //判断是否存在子数组
        $tem && $v[$field['children']] = $tem;
        $arr[] = $v;
      }
    }
    return $arr;
  }
$tree = formatTree( $arr,0,1, $field = array('pid'=>'pid','id'=>'cid','children'=>'children') );
echo '<pre>';
print_r( $tree); 
?> 

我们有两个方法来进行软件设计:一个是让其足够的简单以至于让BUG无法藏身;另一个就是让其足够的复杂,让人找不到BUG。前者更难一些。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

PHP 相关文章推荐
php cache类代码(php数据缓存类)
Apr 15 PHP
使ecshop模板中可引用常量的实现方法
Jun 02 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
Oct 31 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
微信自定义菜单的处理开发示例
Apr 16 PHP
PHP实现简单搜歌的方法
Jul 28 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
php实现留言板功能(会话控制)
May 23 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
Sep 16 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 PHP
CodeIgniter框架常见用法工作总结
Mar 16 #PHP
PHP常用算法和数据结构示例(必看篇)
Mar 15 #PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 #PHP
wordpress网站转移到本地运行测试的方法
Mar 15 #PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
Mar 15 #PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 #PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 #PHP
You might like
PHP插入排序实现代码
2013/04/04 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
PHP图片加水印实现方法
2016/05/06 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
2016/08/12 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
python局部赋值的规则
2013/03/07 Python
python中执行shell的两种方法总结
2017/01/10 Python
Python 类的继承实例详解
2017/03/25 Python
python版简单工厂模式
2017/10/16 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
python中对数据进行各种排序的方法
2019/07/02 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
纯CSS3实现圆圈动态发光特效动画的示例代码
2021/03/08 HTML / CSS
使用HTML5里的classList操作CSS类
2016/06/28 HTML / CSS
html5是什么_动力节点Java学院整理
2017/07/07 HTML / CSS
英国莱斯特松木橡木家具网上商店:Choice Furniture Superstore
2019/07/05 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
旅游管理毕业生自荐书
2014/02/02 职场文书
团队拓展活动方案
2014/08/28 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
技术员岗位职责范本
2015/04/11 职场文书
关于国庆节的广播稿
2015/08/19 职场文书