我正在尝试使用RecursiveIteratorIterator
和RecursiveDirectoryIterator
。
我想在我的c:\
文件夹中获取所有文件。但我不知道为什么我不能得到结果而是一个空白页。
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('c:/' ));
foreach( $it as $file ) {
$all[] = $file->getRealPath();
}
print_r($all);
但如果我使用此代码,那就是
foreach( $it as $key=>$file )
{
echo $key."=>".$file."\n";
}
答案 0 :(得分:3)
很可能是因为您的PHP解释器无法访问该文件夹。
答案 1 :(得分:2)
这是因为PHP StdObj
- 类不能用作数组,因为它是一个关联数组。这是错误的,但我无法更好地描述。 PHP对象得到了类似的东西。
如果$data
是一个对象,那么如果您想要$value
作为对象,则需要这样做。
foreach($data as $property => $value){
echo $value->r;
}
编辑:这是一个很好的问题顺便说一句,我花了几个小时自己搞清楚这一点。