用 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循环会很方便。
然而,如果了解递归,就能够做更多的事情。
以下这篇文章中有很多例子。
我也要更加努力学习!
如果有任何疑问,请随时提问。
如果有人觉得这里有问题,请告诉我。