zoukankan      html  css  js  c++  java
  • 无极分类2

     <?php
     $arr = [
    ['id'=>1, 'parent_id'=>0, 'name'=>'aaa'],
    ['id'=>2, 'parent_id'=>0, 'name'=>'bbb'],
    ['id'=>3, 'parent_id'=>0, 'name'=>'ccc'],
    ['id'=>4, 'parent_id'=>2, 'name'=>'ddd'],
    ['id'=>5, 'parent_id'=>2, 'name'=>'eee'],
    ['id'=>6, 'parent_id'=>5, 'name'=>'fff'],
    ['id'=>7, 'parent_id'=>2, 'name'=>'ggg'],
    ['id'=>8, 'parent_id'=>3, 'name'=>'hhh'],
    ];
    
    
    
    //echo '<select>'.make_tree($arr).'</select>';
    //$tree = make_tree($arr);
    $tree = make_tree($arr);
    $tree = select($tree);
    echo '<select>'.$tree.'</select>';
    
    function make_tree($arr, $parent_id=0, $deep = 0){
        $deep += 2;
        $new_arr = array();
        foreach($arr as $k=>$v){
            if($v['parent_id'] == $parent_id){
                //$v->name = str_repeat(' ', $deep) . $v->name;
                $v['children'] = make_tree($arr, $v['id'], $deep);
                $new_arr[]   = $v;
            }
        }
    
        return $new_arr;
    }
     
    function select($tree, $deep = 0) {
        $options = ''; $deep+=2;
        foreach ($tree as $row) {
            $row['name'] = str_repeat(' ', $deep) . $row['name'];
            $options .= "<option>{$row['name']}</option>";
            if ($row['children']) {
                $options .= select($row['children'], $deep);
            }
        }
        return $options;
    }
    

      

  • 相关阅读:
    这是另外一篇
    使用客户端写博客
    vim编码相关配置
    给eclipse装一些插件
    手机型号收集
    解决黑苹果与windows时区不一致
    记录一些在VPS上折腾的东西
    一个获取文件绝对路径的sh
    python批量GBK转UTF-8
    用NDK编译lua库
  • 原文地址:https://www.cnblogs.com/adtuu/p/7929691.html
Copyright © 2011-2022 走看看