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

yipeiwu_com6年前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递归返回值出现问题时的具体解决方法。

相关文章

基于HBase Thrift接口的一些使用问题及相关注意事项的详解

HBase对于非Java语言提供了Thrift接口支持,这里结合对HBase Thrift接口(HBase版本为0.92.1)的使用经验,总结其中遇到的一些问题及其相关注意事项。1. 字...

PHP 编写大型网站问题集

PHP以其易用性得到迅速的推广,但易用并不是说就能用好它,实际上许多程序员用它很容易的立一个个WEB应用系统,但又有多少人仔细的考虑过他们的代码,是否容易维护、是否足够健壮、否效率足够高...

PHP 批量更新网页内容实现代码

复制代码 代码如下:<?php $path=$DOCUMENT_ROOT; $path=str_replace("/","\\",$path); //指定文件夹 $path=$pa...

php定时删除文件夹下文件(清理缓存文件)

那么有没有方法自动清理临时文件夹呢? 以下代码就是一个简单定时清理文件夹下文件的php代码。 ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试。 复...

php函数实现判断是否移动端访问

忘记在哪里获取的函数了,刚才不了心在一个包里面找到,临时保存起来 复制代码 代码如下: /**  * 是否移动端访问访问  *  * @return boo...