°

php7递归函数详解

2019年课程规划及价格说明


PHP实战视频教程大全

基本含义:

就是一个函数内部再调用该函数本身的一种情形,这是语法形式上的。

具体场景是:

如果要解决的“最终问题”,可以根据比该问题“小一级”的问题的答案而得到解决,

并且,该“小一级”的问题,还可以根据比其“更小一级”的问题的答案而得到解决,

以此类推,直到“最小一级”的问题。如果最小一级问题已知,则最终的问题也就解决了。

危险:

如果函数在执行的过程中没有一个“不再调用”的终结机制,那么就会出现“停不下来”的现象。

 

原理:

递归调用过程的代码演示:

分析一下代码的输出结果:

function  f1($n){
$n++;
echo “$n  “;
if($n < 5){
f1($n);
}
echo “$n  “;
}
f1(1);

 

案例1:

计算5的阶层;

分析:

数学上阶乘可以这样来描述:一个数n的阶乘,是n-1的阶乘,乘以n的结果!

假设,我们有一个函数 jieceng(),它可以计算任意正整数n的阶乘,类似这样:

$n = 5; //或等于10, 13,等等都无所谓。

$result = jiecheng($n);

 

 

 

案例2:

计算斐波那契数列第10项的值:1, 1, 2, 3, 5, 8, 13, 21, ……

假设有个函数,可以计算斐波那契数列的第n项:

打赏
  喜欢