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生成并下载word文件到本地实现方法详解

    php生成并下载word文件到本地实现方法详解

    要给最常用出租屋管理系统增加个合同功能,mark下知识点。要生成合同就需要使用phpword。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • php命名空间设计思想、用法与缺点分析

    php命名空间设计思想、用法与缺点分析

    这篇文章主要介绍了php命名空间设计思想、用法与缺点,结合实例形式分析了php命名空间的概念、用法及相关的操作注意事项,并给出了使用建议,需要的朋友可以参考下
    2019-07-07
  • php采用file_get_contents代替使用curl实例

    php采用file_get_contents代替使用curl实例

    这篇文章主要介绍了php采用file_get_contents代替使用curl的方法,实例讲述了file_get_contents模拟curl的post方法,对于服务器不支持curl的情况来说有一定的借鉴价值,需要的朋友可以参考下
    2014-11-11
  • PHP设计模式之责任链模式的深入解析

    PHP设计模式之责任链模式的深入解析

    本篇文章是对PHP设计模式中的责任链模式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 学习php设计模式 php实现状态模式

    学习php设计模式 php实现状态模式

    这篇文章主要介绍了php设计模式中的状态模式,使用php实现状态模式,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • 利用PHP实现短域名互转

    利用PHP实现短域名互转

    如何使用PHP实现短域名互转?下面的代码可以帮助你实现,非常简单,需要的朋友可以参考下
    2013-07-07
  • php关联数组快速排序的方法

    php关联数组快速排序的方法

    这篇文章主要介绍了php关联数组快速排序的方法,涉及php数组排序的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • PHP 采集程序原理分析篇

    PHP 采集程序原理分析篇

    由于需要,要写一个简单的PHP采集程序,照例是到网上找了一堆教程,然后照猫画虎,可是发现网上的教程全是似是而非,没有一个真正能用的。
    2010-03-03
  • PHP多线程抓取网页实现代码

    PHP多线程抓取网页实现代码

    PHP 利用 Curl Functions 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等。
    2010-07-07
  • PHP+MySQL修改记录的方法

    PHP+MySQL修改记录的方法

    这篇文章主要介绍了PHP+MySQL修改记录的方法,实例分析了mysql修改记录的技巧,需要的朋友可以参考下
    2015-01-01

最新评论