首页课程PHP Fun Breakthrough ClassRecursive function of custom function

Recursive function of custom function

目录列表

递归函数

递归函数,递归只是一个名字,而递归函数的规定:函数体内调用函数自己。

这需要一定的思维理解深度,本章学习过程当中,如果你实在是有思维无法跟上的地方,可以跳过本章不用学习。等有了知识积累可以再看看!

我们来写一个简单的递归代码,让函数自己调用自己:

<?php

$n = 2;
function dg( $n ){
   echo $n.'<br />';
   $n = $n - 1;
   if($n > 0){
       //在函数体内调用了dg自己哟
       dg($n);
   }else{
       echo '--------------';
   }
   echo '我是最后一个哦!' . $n . '<br />';
}
dg($n);

?>

我们来仔细推理一次:

  • 第一次调用dg(),将数字$n = 2传到dg中,先显示出来了2

  • 然后将$n - 1 $n的值为了1

  • 接着判断$n 是否大于0,肯定是大于0的,所以调用递归自己,再把自己执行一次。

  • 而第二次在执行自己dg()的时候,而最下面的 echo '我是最后一个哦!' . $n . '; 还没有执行到。等待执行完成后再来执行

  • $n此时等于1 ,所以显示出来1。

  • $n把自己减了一次,$n的结果为0

  • $n大于0肯定不成立的,所以显示了一条:"--------------"

  • 而这个时候该执行:echo ''我是最后一个哦!' . $n . ';

  • 第二次执行dg()执行完成。第一次dg()的代码还没执行完,将第4点中的余下代码执行完。

没有看懂的小伙伴把代码考下去在本地运行学习学习也可以。


1/1