-1

とを使おうとしてい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";
}
4

2 に答える 2

3

おそらく、PHP インタープリターがそのフォルダーにアクセスできないためです。

于 2011-08-22T10:56:01.653 に答える
2

これは PHPs のStdObj-class が連想配列であるため、配列として使用できないためです。これは言葉では間違っていますが、うまく説明できません。PHPオブジェクトがキャストされるか、そのようなものになります。

がオブジェクトの場合$data、オブジェクトとしてアクセスする場合はこれが必要です$value

foreach($data as $property => $value){
    echo $value->r;
}

編集:これは良い質問です。私はこれを理解するのに数時間費やしました。

于 2011-08-22T11:21:53.557 に答える