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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
php获得文件扩展名三法
Nov 25 PHP
PHP 中英文混合排版中处理字符串常用的函数
Apr 12 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
PHP三元运算的2种写法代码实例
May 12 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 PHP
laravel 多图上传及图片的存储例子
Oct 14 PHP
php上传后台无法收到数据解决方法
Oct 28 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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 iconv() : Detected an illegal character in input string
2010/12/05 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
利用laravel搭建一个迷你博客实战教程
2017/08/13 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
php设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
各情景下元素宽高的获取实现代码
2011/09/13 Javascript
玩转jQuery按钮 请告诉我你最喜欢哪些?
2012/01/08 Javascript
JS预览图像将本地图片显示到浏览器上
2013/08/25 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
2016/12/08 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
JavaScript实现单击网页任意位置打开新窗口与关闭窗口的方法
2017/09/21 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
[01:02:02]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第二局
2016/02/25 DOTA
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
Python 对象中的数据类型
2017/05/13 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
Python tkinter事件高级用法实例
2018/01/31 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
10款最好的Python开发编辑器
2019/07/03 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
python实现银行管理系统
2019/10/25 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python与C/C++的相互调用案例
2021/03/04 Python
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
2016/12/30 HTML / CSS
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
彪马英国官网:PUMA英国
2019/02/11 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
副职竞争上岗演讲稿
2014/05/12 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书