扫码关注官方订阅号
任何人都可以用外行语言并使用示例向我解释 PHP 中的递归函数(不使用斐波那契)吗?我正在看一个例子,但斐波那契完全迷失了我!
提前谢谢您;-) 另外,您在 Web 开发中多久使用它们一次?
一个示例是打印给定目录的任何子目录中的每个文件(如果这些目录中没有符号链接,这可能会以某种方式破坏该功能)。打印所有文件的伪代码如下所示:
function printAllFiles($dir) { foreach (getAllDirectories($dir) as $f) { printAllFiles($f); // here is the recursive call } foreach (getAllFiles($dir) as $f) { echo $f; } }
想法是先打印所有子目录,然后打印当前目录的文件。这个想法适用于所有子目录,这就是为所有子目录递归调用此函数的原因。
如果你想尝试这个例子,你必须检查特殊目录 . 和 ..,否则你会陷入调用 printAllFiles(". ") 一直如此。此外,您必须检查要打印的内容以及当前的工作目录是什么(请参阅opendir()、getcwd()...)。
.
..
printAllFiles(". ")
opendir()
getcwd()
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
一个示例是打印给定目录的任何子目录中的每个文件(如果这些目录中没有符号链接,这可能会以某种方式破坏该功能)。打印所有文件的伪代码如下所示:
function printAllFiles($dir) { foreach (getAllDirectories($dir) as $f) { printAllFiles($f); // here is the recursive call } foreach (getAllFiles($dir) as $f) { echo $f; } }想法是先打印所有子目录,然后打印当前目录的文件。这个想法适用于所有子目录,这就是为所有子目录递归调用此函数的原因。
如果你想尝试这个例子,你必须检查特殊目录
.和..,否则你会陷入调用printAllFiles(". ")一直如此。此外,您必须检查要打印的内容以及当前的工作目录是什么(请参阅opendir()、getcwd()...)。