我对 PHP 和一般编程比较陌生,我试图浏览一个目录并找到所有子目录,以及这些子目录的所有子目录,等等。我用谷歌搜索了一下,偶然发现了递归的概念,我立即知道这是我需要的,因为从概念上我已经意识到了它,但只是不知道它是否可能。由于我对 PHP 语言结构(以及与此相关的一般编程结构)的了解有限,我在这里遇到了一些障碍。我看到了一些关于语言中内置的迭代器的信息,但我想了解其中的内容并能够自己将它们组合在一起。
我创建了一个函数,据我所知,它应该能够获取一个已经预先填充了根文件夹中目录的数组(使用以前的 glob 函数),然后查看其中的每一个,然后继续深入研究,直到找不到新目录……但这似乎不是这里发生的事情。它吐出一个错误,告诉我字符串不支持“[]”运算符,但据我所知,“$arrayName[$key]”是一个数组对象,而不是字符串。即使解决了这个特定问题,各位专家能否告诉我这是否可行,如果不行,需要做什么?
$directory_list[0] = "directory1";
$directory_list[1] = "directory2";
$directory_list[2] = "directory3";
function iterate_unknown_directories($arrayName) {
foreach ($arrayName as $key => $arrayObject) {
$directories_check = glob($arrayObject."/*",GLOB_ONLYDIR);
foreach ($directories_check as $directory) {
if ($directory !== getcwd()) {
if ($directory !== $arrayObject) {
$arrayName[$key][] = $directory;
}
}
}
if (is_array($arrayName[$key])) {
iterate_unknown_directories($arrayName[$key]);
}
echo $arrayObject;
}
}
iterate_unknown_directories($directory_list);
我浏览了我能找到的资源,但似乎没有一个能完全满足我的需要。非常感谢您阅读本文,并希望您能伸出援手!