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

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

相关文章

php DES加密算法实例分析

本文实例讲述了php DES加密算法。分享给大家供大家参考,具体如下: yii框架的DES代码 <?php /** *@see Yii CSecurityManage...

网站用php实现paypal整合方法

所以今天我就来讲讲如何将你的网站和paypal进行整合。 首先,去paypal申请一个号吧,资料都补充完整之后,我们就可以开始行动乐,对了,申请paypal时,要申请那种可以接受别人付款...

php中获得视频时间总长度的另一种方法

php中获得视频时间总长度的另一种方法

当时获得视频长度是采用网上的通用的获得flv视频文件长度的方法,但是这个方法只对flv视频支持,其他格式的视频获取到的值就很差了, 下面在介绍一种:利用ffmpeg返回值Duration...

PHP实现简单实用的分页类代码

PHP实现简单实用的分页类代码

本文实例讲述了PHP实现简单实用的分页类。分享给大家供大家参考,具体如下: <?php class Page { private $total; //...

PHP 内存缓存加速功能memcached安装与用法

一、memcached 简介在很多场合,我们都会听到 memcached 这个名字,但很多同学只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东。这里简单介绍一下,memcac...