PHP只将第一级子目录转换为数组

时间:2017-09-27 15:37:59

标签: php

我正在尝试将第一级子目录放入数组中。 有人知道更轻薄更快的方法吗?

    $dirs =  new RecursiveDirectoryIterator('myroot', RecursiveDirectoryIterator::SKIP_DOTS);
    $files = new RecursiveIteratorIterator($dirs, RecursiveIteratorIterator::SELF_FIRST);

    $dir_array = array();
    foreach( $files AS $file) 
    {           
        if($files->isDot()) continue;
        if($files->getDepth() > 0) continue;

        if( $files->isDir() )
        {
            $dir_array[] = $file->getFilename();
        }
    }

1 个答案:

答案 0 :(得分:4)

这很简单:

$array = glob('myroot/*', GLOB_ONLYDIR);

仅获取基目录名称而不是完整路径:

$array = array_map('basename', glob('myroot/*', GLOB_ONLYDIR));

请参阅http://php.net/glob