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 相关文章推荐
MYSQL 小技巧 -- LAST_INSERT_ID
Nov 24 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
php使用PDO方法详解
Dec 27 PHP
PHP中imagick函数的中文解释
Jan 21 PHP
PHP开启opcache提升代码性能
Apr 26 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
简单介绍win7下搭建apache+php+mysql开发环境
Aug 06 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
使用PHP开发留言板功能
Nov 19 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数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
2013/02/14 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
又拍云异步上传实例教程详解
2016/04/19 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
PHP通过引用传递参数用法分析
2016/12/01 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
layui异步加载table表中某一列数据的例子
2019/09/16 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
pycharm 使用心得(一)安装和首次使用
2014/06/05 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
美国克罗格超市在线购物:Kroger
2019/06/21 全球购物
班级文化标语
2014/06/23 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
撤诉状格式范本
2015/05/19 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
消费者投诉书范文
2015/07/02 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS