zoukankan      html  css  js  c++  java
  • 无限级分类

    public function getlist($pid = 0, &$result=array(), $spac = 0){
    $spac += 2;
    $list = M('liuyan')->where('pid='.$pid)->select();
    foreach($list as $val){
    $val['content'] = str_repeat('',$spac).$val['content'];
    $result[] = $val;
    $this->getlist($val['id'], $result, $spac);
    }
    return $result;
    }
     
    function genTree($items,$id='id',$pid='pid',$son = 'children'){
        $tree = array(); //格式化的树
        $tmpMap = array();  //临时扁平数据
         
        foreach ($items as $item) {
            $tmpMap[$item[$id]] = $item;
        }
         
        foreach ($items as $item) {
            if (isset($tmpMap[$item[$pid]])) {
                $tmpMap[$item[$pid]][$son][] = &$tmpMap[$item[$id]];
            } else {
                $tree[] = &$tmpMap[$item[$id]];
            }
        }
        unset($tmpMap);
        return $tree;
    }
     
    $items1 = array(
            array('id' => 1, 'pid' => 0, 'name' => '一级11' ),
            array('id' => 11, 'pid' => 0, 'name' => '一级12' ),
            array('id' => 2, 'pid' => 1, 'name' => '二级21' ),
            array('id' => 10, 'pid' => 11, 'name' => '二级22' ),
            array('id' => 3, 'pid' => 1, 'name' => '二级23' ),
            array('id' => 12, 'pid' => 11, 'name' => '二级24' ),
            array('id' => 9, 'pid' => 1, 'name' => '二级25' ),
            array('id' => 14, 'pid' => 1, 'name' => '二级26' ),
            array('id' => 4, 'pid' => 9, 'name' => '三级31' ),
            array('id' => 6, 'pid' => 9, 'name' => '三级32' ),
            array('id' => 7, 'pid' => 4, 'name' => '四级41' ),
            array('id' => 8, 'pid' => 4, 'name' => '四级42' ),
            array('id' => 5, 'pid' => 4, 'name' => '四级43' ),
            array('id' => 13, 'pid' => 4, 'name' => '四级44' ),
            array('id' => 15, 'pid' => 8, 'name' => '五级51' ),
            array('id' => 16, 'pid' => 8, 'name' => '五级52' ),
            array('id' => 17, 'pid' => 8, 'name' => '五级53' ),
            array('id' => 18, 'pid' => 16, 'name' => '六级64' ),
    );
    var_dump(genTree($items1));
  • 相关阅读:
    centos set up samba
    iptables基础及samba配置举例
    CentOS 7.x samba 服务器安装
    (总结)RHEL/CentOS 7.x的几点新改变
    Linux Samba文件共享服务配置
    光纤交换机端口故障排查
    FAQ-SNS交换机的端口状态及排查流程说明
    Oracle 降低高水位线的方法
    Java异常处理机制
    noVNC连接多台远程主机
  • 原文地址:https://www.cnblogs.com/ilys/p/5474595.html
Copyright © 2011-2022 走看看