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

相关文章

9个实用的PHP代码片段分享

一.查看邮件是否已被阅读        当你发送邮件时,你肯定很想知道你的邮件是否已被对方查看。下面的代码就能实现记录阅读你...

提高define性能的php扩展hidef的安装和使用

提高define性能的php扩展hidef的安装和使用

官网:http://pecl.php.net/package/hidef简介:  Allow definition of user defined constants in simple...

php+xml结合Ajax实现点赞功能完整实例

本文实例讲述了php+xml结合Ajax实现点赞功能的方法。分享给大家供大家参考。具体如下: 使用xml、php和Ajax实现点赞功能,不需要链接数据库,使用php来修改xml的内容,使...

PHP实现移除数组中为空或为某值元素的方法

本文实例讲述了PHP实现移除数组中为空或为某值元素的方法。分享给大家供大家参考,具体如下: 在实现移除数组中项目为空的元素或为某值的元素时用到了两个函数 array_filter、cre...

PHP函数实现分页含文本分页和数字分页

PHP函数实现分页含文本分页和数字分页

最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。 // 分页分装 /** * $pageType 分页类型 1是数字分页 2是文本分页 * 可...