我一直在关注readdir(),is_dir()等教程,这些教程涉及根据我的FTP上的文件夹和文件设置一个小图库。我想知道$ directorys [] = $ file;部分具体做什么?
while( $file= readdir( $dir_handle ) )
{
if( is_dir( $file ) ){
$directorys[] = $file;
}else{
$files[] = $file;
}
}
答案 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)
它在数组的末尾创建一个新的数组元素并为其赋值。