为了账号安全,请及时绑定邮箱和手机立即绑定

已知一个目录列表 如上的 a c 遍历子目录 按深度2来遍历

已知一个目录列表 如上的 a c 遍历子目录 按深度2来遍历

ibeautiful 2023-05-01 10:06:13
目录结构 例如 a a-1/a-11/a-111b-1/b-11/b-111/b-1111c c-1/c-11/c-111d-1/d-11/d-111/d-111 结果就是 a a-1/a-11/ b-1/b-11/ c c-1/c-11/ d-1/d-11/ 求代码 PHP JAVA 都行
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

这个貌似不难吧,我用javascript写给你吧,都差不多的。

var deps=3var basenames=["a","b","c"]for ( var i =0;i<basenames.length;i++){    var suffix="";    for(var j=0;j<deps;j++){        var result=fs.readdir(basenames[i]+suffix)        console.log(result)
        suffix+="1"
    }
}


查看完整回答
反对 回复 2023-05-04
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

递归的时候加上层级参数即可,每次递归参数都需要+1来确认当前层级,然后在下次递归开始的时候判断当前层级是否已经到达限制层级,如果到达则不再往下层递归

<?phpfunction read_folder($folder, $level = 1) {    if (is_dir($folder)) {        if ($dh = opendir($folder)) {            while (($file = readdir($dh)) !== false) {                if ($file != '.' && $file != '..') {                    $path = $folder.DIRECTORY_SEPARATOR.$file;                    if (is_dir($path)) {                        var_dump($path, $level);                        // 这里控制读取的层级
                        if ($level < 2) { 
                            read_folder($path, $level + 1); //每次递归都要增加层级计数
                        }
                    }
                }
            }            closedir($dh);
        }
    }
}


查看完整回答
反对 回复 2023-05-04
  • 2 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信