• 首页课程PHP趣味闯关课堂自定义函数之递归函数

    自定义函数之递归函数

    目录列表

    递归函数

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

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

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

    <?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

    PHP中文网