我想要做的是遞歸遍歷所有文件夾並從每個文件中收集$ arr,稍後我會合並。 在較高水平而言,這是我在做什麼:文件夾遞歸:何時返回?
function main(){
$path = ....
$arr = array();
if(is_dir($path)){
$arr = parseFolder($path, $arr);
} else {
$arr = parseFile($path);
}
print $arr;
}
function parseFile($path){
....
return $arr
}
function parseFolder($path, $arr){
$folder = opendir($path);
while($item=readdir($folder)){
if(is_dir($item)
parseFolder($path . '/' . $item, $arr);
else
$arr = merge_array($arr, parseFile($path . '/' . $item);
}
return $arr
}
正如你可以看到有將是這個問題,因爲我沒有一個基本情況。因此,它最終會在parseFolder函數中多次返回$ arr。無論如何要知道什麼時候我幾乎完成遍歷所有文件/文件夾,所以我知道什麼時候返回我的最終結果$ arr?我對更高效的實現敞開懷抱。
什麼是最終目標?你是否只需要所有文件夾中的所有文件,或者具有完整文件夾結構的關聯嵌套數組? – SmokeyPHP
我需要文件夾中的所有文件。這些文件返回我需要的數組 –