search
  • Sign In
  • Sign Up
Password reset successful

Follow the proiects vou are interested in andi aet the latestnews about them taster

首页课程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