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中文本操作的类
Mar 17 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
一个好用的PHP验证码类实例分享
Dec 27 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
PHP统一页面编码避免乱码问题
Apr 09 PHP
php判断当前操作系统类型
Oct 28 PHP
[原创]php常用字符串输出方法分析(echo,print,printf及sprintf)
Jul 09 PHP
php实现的redis缓存类定义与使用方法示例
Aug 09 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
php+laravel依赖注入知识点总结
Nov 04 PHP
PHP中-&gt;和=&gt;的含义及使用示例解析
Aug 06 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版微信公众平台回复中文出现乱码问题的解决方法
2016/09/22 PHP
php实现微信企业转账功能
2018/10/02 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
JavaScript中switch判断容易犯错的一个细节
2014/08/27 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
JS访问SWF的函数用法实例
2015/07/01 Javascript
js输入框使用正则表达式校验输入内容的实例
2017/02/12 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
vue实现导航菜单和编辑文本的示例代码
2020/07/04 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
python3+PyQt5泛型委托详解
2018/04/24 Python
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
请解释在new与override的区别
2012/10/29 面试题
中英文自我评价语句
2013/12/20 职场文书
建筑工程专业学生的自我评价
2013/12/25 职场文书
校友会欢迎辞
2014/01/13 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
学生党员公开承诺书
2014/05/28 职场文书
教师一帮一活动总结
2014/07/08 职场文书
作风年建设汇报材料
2014/08/14 职场文书
80后婚前协议书范本
2014/10/24 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
《西游记》读后感(3篇)
2019/09/20 职场文书