我想使用递归扫描文件夹的函数,并将每次扫描的内容分配给一个数组。在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