php生成无限栏目树

 更新时间:2017年03月16日 09:32:24   作者:雨落秋垣  
本文主要介绍了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),
);
<?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和Selenium搭建高效网络爬虫实现技术探索

    PHP和Selenium搭建高效网络爬虫实现技术探索

    随着信息时代的到来,网站被认为是获取信息的主要途径之一,但是,手动获取网站上的信息是非常繁琐的,因此出现了自动抓取网页的方式——网络爬虫,这篇文章将介绍如何使用PHP和Selenium搭建一个高效的网络爬虫来自动收集信息
    2024-01-01
  • php没有文件被上传的实例分析及解决办法

    php没有文件被上传的实例分析及解决办法

    在本篇文章里小编给大家整理的是一篇关于php没有文件被上传的实例分析及解决办法,有兴趣的朋友们可以跟着学习参考下。
    2021-11-11
  • PHP 使用二进制保存用户状态的实例

    PHP 使用二进制保存用户状态的实例

    下面小编就为大家分享一篇PHP 使用二进制保存用户状态的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • 教你识别简单的免查杀PHP后门

    教你识别简单的免查杀PHP后门

    这类后门让网站、服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的。今天我们细数一些有意思的PHP一句话木马。
    2015-09-09
  • php.ini中的php-5.2.0配置指令详解

    php.ini中的php-5.2.0配置指令详解

    简介本文并非是对英文版 php.ini 的简单翻译,而是参考了众多资料以后,结合自己的理解, 在原有 php.ini 基础上增加了一些实用模块的配置说明,同时对文件内容的安排进行了调整。 由于作者不喜欢 no-free 的玩意儿,所以删除了除 MySQL 和 PostgreSQL 以外的其他数据库模块配置选项。
    2008-03-03
  • PHP自动生成后台导航网址的最佳方法

    PHP自动生成后台导航网址的最佳方法

    写过很多种不同的后台导航写法最终积累了这种最写法,算是最好的吧,个人感觉还算是不错的,喜欢的朋友可以参考下
    2013-08-08
  • PHP5.5安装PHPRedis扩展及连接测试方法

    PHP5.5安装PHPRedis扩展及连接测试方法

    这篇文章主要介绍了PHP5.5安装PHPRedis扩展及连接测试方法,较为详细的介绍了针对php5.5安装PHPRedis扩展的具体步骤与相关操作技巧,并给出了安装后的连接测试示例,需要的朋友可以参考下
    2017-01-01
  • 个人站长制做网页常用的php代码

    个人站长制做网页常用的php代码

    个人站长制做网页常用的php代码...
    2007-03-03
  • PHP 和 MySQL 开发的 8 个技巧

    PHP 和 MySQL 开发的 8 个技巧

    PHP 和 MySQL 开发的 8 个技巧...
    2007-01-01
  • PHP基于自定义函数实现的汉字转拼音功能实例

    PHP基于自定义函数实现的汉字转拼音功能实例

    这篇文章主要介绍了PHP基于自定义函数实现的汉字转拼音功能,涉及php表单及字符串编码转换、遍历等相关操作技巧,需要的朋友可以参考下
    2017-09-09

最新评论