一尘不染

用外行的话来说就是使用PHP的递归函数

php

谁能用外行语言和示例向我解释PHP的递归函数(不使用Fibonacci)?我在看一个例子,但斐波那契完全让我迷失了!

预先谢谢您;-)您还经常在Web开发中使用它们吗?


阅读 307

收藏
2020-05-26

共1个答案

一尘不染

外行条款:

递归函数是一个调用 自身 的函数 __

深入一点:

如果函数不断调用自身,怎么知道什么时候停止?您设置了一个条件,称为基本情况。基本案例告诉我们递归调用何时停止,否则它将无限循环。

因为我在数学方面有很强的背景,对我来说,这是一个很好的学习例子,是阶乘的。通过下面的评论,似乎阶乘函数可能有点过多,为了您需要,我将其保留在此处。

function fact($n) {
  if ($n === 0) { // our base case
     return 1;
  }
  else {
     return $n * fact($n-1); // <--calling itself.
  }
}

关于在Web开发中使用递归函数,我个人不求助于使用递归调用。并不是说依靠递归是不好的做法,但是它们不应该是您的首选。如果使用不当,它们可能会致命。

尽管我无法与目录示例竞争,但我希望这有所帮助。

(4/20/10)更新:

检验这个问题,这也是很有用的,其中公认的答案以通俗易懂的方式演示了递归函数的工作原理。即使OP的问题与Java有关,但概念是相同的,

2020-05-26