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