• 技术文章 >后端开发 >php教程

    php生成无限栏目树的代码实例分享

    黄舟黄舟2017-03-17 09:22:11原创592
    本文主要介绍了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生成无限栏目树的代码实例分享的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 无限栏目树
    上一篇:php与javascript正则匹配中文的方法分享 下一篇:如何让ThinkPHP的模板引擎达到最佳效率的方法介绍
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• PHP如何使用xlswriter进行大数据的导入导出?(详解)• 自动跳转中英文页面_PHP教程• PHP5的XML新特性_PHP教程• php 面试碰到过的问题 在此做下记录_php技巧• php通用防注入程序 推荐_php技巧
    1/1

    PHP中文网