$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
print_r($objects);
这仅输出
RecursiveIteratorIterator 对象 ( )
但是如果你遍历同一个对象,比如
foreach($objects as $name => $object){
echo "$name\n";
}
然后它会按预期显示所有文件和文件夹。
问题:为什么在创建 Objectprint_r之后var_dump仍然显示空白?但是那个循环显示了所有数据。是否foreach在运行时循环?这不是通常的foreach工作方式。此外,var_dump或者print_r几乎所有其他事物都说明了对象包含的所有内容,那么为什么不针对这个呢?