用 PHP 解释递归(Ricaashiibu)

简述

由于在基本信息方面存在递归的问题,为了输出结果我将写入一篇文章。

版本

    php 8.1

递归是指

佐々木真先生的文章很易懂。

在自己创建的函数中调用自己创建的函数。这个概念可能不太容易理解。

因为很难,让我们通过代码来查看吧。

目标代码

<?php
//再帰
function father(){
   $result = son(3);

   echo $result;
}
function son($num){

   if($num > 0 ){
   return $num * son($num - 1);      
      
   }
   else if($num == 0){
      return 1;

   }
   else{
      return 0;

   }
   
}
father();
?>

在父函数中将3输入到子函数,
观察子函数。

function son($num){

   if($num > 0 ){
   return $num * son($num - 1);      
      
   }
   else if($num == 0){
      return 1;

   }
   else{
      return 0;

   }

我将数字3输入到了son函数的$num中。
虽然不是直接输入进去的。

这次在father函数内部给son函数传入了3。它已经反映出来了。
函数就是这样的。

   if($num > 0 ){
   return $num * son($num - 1);      
   }

由于$num等于3,所以符合这个if语句。
通过return语句再次调用了son函数。

将重复调用与自己相同的函数称为递归。

看到上面的if语句,由于$num = 3,
所以结果是3而且son(2)变成3。
这个过程会一直持续到变成0,
所以最后的结果是3乘以2乘以1等于6。

如果$num等于0或-1,则在else部分进行处理。

最後通过return返回的值将进入$result,并显示为6。

最终结论

如果代码很短的话,使用for循环会很方便。

然而,如果了解递归,就能够做更多的事情。
以下这篇文章中有很多例子。

 

我也要更加努力学习!
如果有任何疑问,请随时提问。
如果有人觉得这里有问题,请告诉我。

广告
将在 10 秒后关闭
bannerAds