首页  >  问答  >  正文

为普通人揭秘 PHP 中的递归函数

任何人都可以用外行语言并使用示例向我解释 PHP 中的递归函数(不使用斐波那契)吗?我正在看一个例子,但斐波那契完全迷失了我!

提前谢谢您;-) 另外,您在 Web 开发中多久使用它们一次?

P粉211600174P粉211600174342 天前662

全部回复(2)我来回复

  • P粉709307865

    P粉7093078652023-10-18 00:23:39

    一个示例是打印给定目录的任何子目录中的每个文件(如果这些目录中没有符号链接,这可能会以某种方式破坏该功能)。打印所有文件的伪代码如下所示:

    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()...)。

    回复
    0
  • P粉604669414
  • 取消回复