php递归函数中使用return的注意事项


Posted in PHP onJanuary 17, 2014

php递归函数中使用return的时候会碰到无法正确返回想要的值得情况,如果不明白其中的原因,很难找出错误的,就下面的具体例子来说明一下吧:

function test($i){ 
$i-=4; 
if($i<3){ 
return $i; 
}else{ 
test($i); 
} 
} 
echotest(30);

这段代码看起来没有问题,如果不运行一下估计你也不会认为他有什么问题,及时运行起来发现有问题你也不一定知道哪里有问题,但其实这个函数的else里面是有问题的。在这段代码里面执行的结果是没有返回值的。所以虽然满足条件 $i<3 时return $i整个函数还是不会返回值的。因此对上面的PHP递归函数可做如下修改(更多PHP教程请访问代码家园):
function test($i){ 
$i-=4; 
if($i<3){ 
return $i; 
}else{ 
return test($i);//增加return,让函数返回值 
} 
} 
echotest(30);
PHP 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
PHP中在数据库中保存Checkbox数据(2)
Oct 09 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
php学习之简单计算器实现代码
Jun 09 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
解析PHP的session过期设置
Jun 29 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
简单实用的PHP文本缓存类实例
Mar 22 PHP
php实现分页功能的详细实例方法
Sep 29 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
Apr 26 PHP
使用PHP强制下载PDF文件示例
Jan 17 #PHP
5种PHP创建数组的实例代码分享
Jan 17 #PHP
实现PHP多线程异步请求的3种方法
Jan 17 #PHP
一个PHP二维数组排序的函数分享
Jan 17 #PHP
PHP登陆后跳转到登陆前页面实现思路及代码
Jan 17 #PHP
修改apache配置文件去除thinkphp url中的index.php
Jan 17 #PHP
php使用curl访问https示例分享
Jan 17 #PHP
You might like
php实现mysql同步的实现方法
2009/10/21 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
jQuery1.6 正式版发布并提供下载
2011/05/05 Javascript
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
jQuery filter函数使用方法
2014/05/19 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
JavaScript中String对象的方法介绍
2017/01/04 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
[09:59]DOTA2-DPC中国联赛2月7日Recap集锦
2021/03/11 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
全面了解python字符串和字典
2016/07/07 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
Python语言异常处理测试过程解析
2020/01/08 Python
python中如何写类
2020/06/29 Python
Python 代码调试技巧示例代码
2020/08/11 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
python自动化办公操作PPT的实现
2021/02/05 Python
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
幼儿园教师请假制度
2014/01/16 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
客房领班岗位职责
2015/02/11 职场文书
委托收款证明
2015/06/23 职场文书