zoukankan      html  css  js  c++  java
  • 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);
    
    ?>
    

      

  • 相关阅读:
    fatal error: bits/c++config.h: No such file or directory
    linux 下Beyond Compare 安装
    TD 加载界面实现
    JPA 如何实现 insert ignore
    jsonp 未实现跨域的原因?
    Linux 常用命令
    rancher server偶发504问题排查
    docker清理none image
    docker构建权限问题
    docker containers logs clean
  • 原文地址:https://www.cnblogs.com/ceet/p/6552303.html
Copyright © 2011-2022 走看看