Rumah > pembangunan bahagian belakang > masalah PHP > PHP递归函数用法

PHP递归函数用法

Guanhui
Lepaskan: 2023-03-01 12:46:01
asal
2396 orang telah melayarinya

PHP递归函数用法

PHP递归函数用法

递归函数即为自调用函数,在函数体内直接或间接进行自调,但需要设置自调的条件,若满足条件,则调用函数本身,若不满足则终止本函数的自调,然后把流程的主控权返回给上一层函数执行。

代码示例

<?php
 //声明一个函数,用于测试递归
 function test($n){
   echo $n." ";        //在函数开始输出参数的值
   if($n>0){                //判断参数是否大于0
     test($n-1);            //如果参数大于0则调用自己,并将参数减1后再次传入
   }else{                   //判断参数是不大于0
     echo "<-------->  ";
   }
   echo $n." ";
 }
 test(10);                   //调用test函数将整数10传给参数
?>
Salin selepas log masuk

首先思考一下,这个例子最终的输出结果是什么?

好,来看一下本函数输出的结果:

 10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
Salin selepas log masuk

怎么样,不知道这个结果是否跟设想的一样呢?

步骤讲解

第一步,执行test(10),echo 10,然后因为10>0,执行test(9),后面还有没来得及执行的echo 10

第二步,执行test(9),echo 9,然后因为9>0,执行test(8),同样后面还有没来得及执行的 echo 9

第三步,执行test(8),echo 8,然后因为8>0,执行test(7),同样后面还有没来得及执行的 echo 8

第四步,执行test(7),echo 7,然后因为7>0,执行test(6),同样后面还有没来得及执行的 echo 7

第五步,执行test(6),echo 6,然后因为6>0,执行test(5),同样后面还有没来得及执行的 echo 6

...........

第十步,执行test(0),echo 0,此时0>0的条件不满足,不在执行test()函数,而是echo “<-->”,并且执行后面的 echo 0

10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
Salin selepas log masuk

推荐教程:《PHP教程



Atas ialah kandungan terperinci PHP递归函数用法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan