欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP递归返回值时出现的问题解决办法

程序员文章站 2022-05-27 19:40:44
我们在使用php递归时,会遇到各种各样的问题,其中比较令人苦恼的是有关php递归返回值时出现的问题。其实细细想想这是一个很简单的问题。可就是这个简单的问题困扰了半个下午。问...

我们在使用php递归时,会遇到各种各样的问题,其中比较令人苦恼的是有关php递归返回值时出现的问题。其实细细想想这是一个很简单的问题。可就是这个简单的问题困扰了半个下午。问题出在递归函数的返回值上。

这是开始写的:

复制代码 代码如下:

<?php  
function test($i)  
{  
$i -= 4;  
if($i < 3)  
{  
return $i;  
}  
else   
{  
test($i);  
}  
}  
echo test(30);  
?>

这段代码看起来没有问题,其实有else里面是有问题的。在这里执行的test没有返回值。所以虽然满足条件$i < 3时 return $i整个函数还是不会返回值的。对上面的php递归返回值函数做如下修改:
复制代码 代码如下:

< ?php  
function test($i)  
{  
$i -= 4;  
if($i < 3)  
{  
return $i;  
}  
else   
{  
return test($i); //增加return, 让函数返回值  
}  
}  
echo test(30);  
?>

以上代码示例就是php递归返回值出现问题时的具体解决方法。