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

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

相关文章

探讨如何使用SimpleXML函数来加载和解析XML文档

大量SmipleXML函数可用来加载和解析大量XML文档。----------------------------------------------------------------...

php操作mongoDB实例分析

本文实例讲述了php操作mongoDB的方法。分享给大家供大家参考。具体分析如下: mongoDB数据库是一种以json格式存储的数据库,非常适用于各种应用开发,这里就来给各位朋友介绍一...

php判断并删除空目录及空子目录的方法

本文实例讲述了php判断并删除空目录及空子目录的方法。分享给大家供大家参考。具体实现方法如下: 步骤如下: 1.遍历目录及子目录 2.使用 scandir 判断目录是否为空,为空则使用r...

PHP+jQuery实现双击修改table表格功能示例

PHP+jQuery实现双击修改table表格功能示例

本文实例讲述了PHP+jQuery实现双击修改table表格功能。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"&...

php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别

“PHP_SELF” 当前正在执行脚本的文件名,与 document root 相关。举例来说,在 URL 地址为 //www.jb51.net/test.php/foo.bar 的脚本...