PHP-获取目录内容、信息和输出数组

PHP-获取目录内容、信息和输出数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在进行以下工作,但对于如何将其输出,我感到困惑 我有以下程序扫描目录内容,然后获取信息并将其保存为数组: //SCAN THE DIRECTORY $directories = scandir($dir); $directinfo = array(); foreach($directories as $directory){ if ($directory === '.' or $directory === '..') continue;

我正在进行以下工作,但对于如何将其输出,我感到困惑

我有以下程序扫描目录内容,然后获取信息并将其保存为数组:

   //SCAN THE DIRECTORY
    $directories = scandir($dir);
    $directinfo = array();
    foreach($directories as $directory){
        if ($directory === '.' or $directory === '..') continue;
        if(!stat($dir.'/'.$directory)){

        } else {
            $filestat = stat($dir.'/'.$directory);
            $directinfo[] = array(
                'name' => $directory,
                'modtime' => $filestat['mtime'],
                'size' => $filestat['size']
            );

        }
    }
然而,当我试图输出它时,我得到的只是一个有很多中断的字母。很明显,我在输出循环中遗漏了一些东西

    foreach($directinfo as $dirInfo){
        foreach($dirInfo as $drInfo){
            for ($x=0; $x<=2; $x++) {
                <span>"".$drInfo[$x]."<br/></span>";

            }
        }
    }
foreach($directinfo作为$dirInfo){
foreach($dirInfo作为$drInfo){

对于($x=0;$x我认为您处理的是2d数组,但将其视为3d数组

什么是

foreach($directinfo as $dirInfo){
    foreach($dirInfo as $drInfo){
        var_dump($drInfo);
    }
}

给你?

你正在构建一个数组,dirInfo

Php foreach首先获取数组

foreach($dirInfo as $info) { 
 echo "<span>" . $info['name'] . "</span>";
}
foreach($dirInfo作为$info){
回显“$info['name']”;
}

您已经完成了所有操作,只需删除
for循环

并尝试执行以下操作-

       foreach($directinfo as $dirInfo){
            foreach($dirInfo as $key=>$drInfo){             
                echo "<span>".$key."=>".$drInfo."<br/></span>";             
            }
        }
foreach($directinfo作为$dirInfo){
foreach($dirInfo作为$key=>$drInfo){
回显“$key.”=>“$drInfo.”
”; } }
尝试此功能。它将返回包含路径的所有文件的列表

// to list the directory structure with all sub folders and files
function getFilesList($dir)
{
    $result = array();
    $root = scandir($dir);
    foreach($root as $value) {
        if($value === '.' || $value === '..') {
            continue;
        }
        if(is_file("$dir$value")) {
            $result[] = "$dir$value";
            continue;
        }
        if(is_dir("$dir$value")) {
            $result[] = "$dir$value/";
        }
        foreach(getFilesList("$dir$value/") as $value)
        {
            $result[] = $value;
        }
    }
    return $result;
}
尝试省略for循环(对于($x=0;$x