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


Posted in PHP onFebruary 19, 2013

我们在使用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 相关文章推荐
解析PHP中$_FILES的使用以及注意事项
Jul 05 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
thinkphp3.2.2实现生成多张缩略图的方法
Dec 19 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
php实现的Curl封装类Curl.class.php用法实例分析
Sep 25 PHP
php视频拍照上传头像功能实现代码分享
Oct 08 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
教你在header中隐藏php的版本信息
Aug 10 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
php实现基于PDO的预处理示例
Mar 28 PHP
thinkphp5修改view到根目录实例方法
Jul 02 PHP
PHP递归算法的详细示例分析
Feb 19 #PHP
七款最流行的PHP本地服务器分享
Feb 19 #PHP
浅析PHP递归函数返回值使用方法
Feb 18 #PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
Feb 18 #PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 #PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
Feb 17 #PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
Feb 16 #PHP
You might like
一些常用的php函数
2006/12/06 PHP
PHP session会话的安全性分析
2011/09/08 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
浅谈php调用python文件
2019/03/29 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
JS的Document属性和方法小结
2013/09/17 Javascript
JQuery文字列表向上滚动的代码
2013/11/13 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
jQuery源码解读之addClass()方法分析
2015/02/20 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
VUE+Element环境搭建与安装的方法步骤
2019/01/24 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
谈一谈数组拼接tf.concat()和np.concatenate()的区别
2020/02/07 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
SQL语言面试题
2013/08/27 面试题
银行职员自我鉴定
2014/04/20 职场文书
2015年施工员工作总结范文
2015/04/20 职场文书
在Django中使用MQTT的方法
2021/05/10 Python