array_item [] = $ file这是做什么的?

时间:2012-01-09 20:18:11

标签: php readdir

我一直在关注readdir(),is_dir()等教程,这些教程涉及根据我的FTP上的文件夹和文件设置一个小图库。我想知道$ directorys [] = $ file;部分具体做什么?

while( $file= readdir( $dir_handle ) )      
{
        if( is_dir( $file ) ){              
            $directorys[] = $file;          
        }else{                              
            $files[] = $file;               
        }
}

5 个答案:

答案 0 :(得分:3)

$directory是一个数组。

代码

$directory[] = $file

$file添加到$directory数组的末尾。这与

相同

array_push($directory, $file)

array_push在phpdocs上的更多信息

答案 1 :(得分:2)

$ file将包含已扫描项目的名称。在这种情况下,使用is_dir($ file)可以检查当前目录中的$文件是否是目录。

然后,使用标准数组追加运算符[],将$ file name或目录名添加到$ files / $ directorys数组中......

答案 2 :(得分:1)

它将目录添加到directory数组:)

    if( is_dir( $file ) ){              
        $directorys[] = $file; // current item is a directory so add it to the list of directories       
    }else{                              
        $files[] = $file; // current item is a file so add it to the list of files
    }

但是,如果你使用PHP 5,我真的建议使用DirectoryIterator

BTW命名$file非常糟糕,因为它并不总是文件。

答案 3 :(得分:1)

它将项目推送到数组,而不是array_push,它只会将一个项目推送到数组。

使用array_push$array[] = $item的工作方式相同,但使用array_push并不理想,因为它适合推送数组中的多个项目。

示例:

Array (
)

执行此操作$array[] = 'This works!';array_push($array, 'This works!')后,它将显示为:

Array (
   [0] => This works!
)

您也可以将数组推送到数组中,如下所示:

$array[] = array('item', 'item2');

Array (
   [0] => Array (
             [0] => item
             [1] => item2
          )
)

答案 4 :(得分:0)

它在数组的末尾创建一个新的数组元素并为其赋值。