我想使用遞歸掃描文件夾的函數,並將每次掃描的內容分配給一個數組。在PHP中以增量深度動態生成陣列
它足夠簡單,通過使用next()或foreach遞歸遍歷數組中的每個後續索引 - 但是如何動態地向數組添加深度層(無需將其硬編碼到函數中)會給我帶來問題。這裏有一些僞:
function myScanner($start){
static $files = array();
$files = scandir($start);
//do some filtering here to omit unwanted types
$next = next($files);
//recurse scan
//PROBLEM: how to increment position in array to store results
//$next_position = $files[][][].... ad infinitum
//myScanner($start.DIRECTORY_SEPARATOR.$next);
}
任何想法?
我會給它一個旋轉,雖然目前不工作... – sunwukung 2009-11-27 15:41:32
再試一次,我修好了一點:) – silent 2009-11-27 15:42:14
,完美的工作。我沒有考慮使用引用。此行: myScanner($ dirtest,$ array [$ file。DIRECTORY_SEPARATOR]); 是難倒我的人 - 我沒有看到聯想鍵在哪裏被添加 - 直到我明白參考啓動變量。我今天學到了一些有價值的東西 - 謝謝! – sunwukung 2009-11-27 18:54:20