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 相关文章推荐
PHP生成静态页面详解
Nov 19 PHP
php横向重复区域显示二法
Sep 25 PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
Feb 14 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
Jun 26 PHP
PHP比你想象的好得多
Nov 27 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
phpinfo的知识点总结
Oct 10 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
shiro授权的实现原理
2017/09/21 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
解决vue中使用Axios调用接口时出现的ie数据处理问题
2018/08/13 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Django--权限Permissions的例子
2019/08/28 Python
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
学生励志演讲稿
2014/01/06 职场文书
农村婚礼证婚词
2014/01/08 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
活动简报范文
2015/07/22 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
PO模式在selenium自动化测试框架的优势
2022/03/20 Python