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管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
PHP5中GD库生成图形验证码(有汉字)
Jul 28 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
php获取json数据所有的节点路径
May 17 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
PHP模拟asp中response类实现方法
Aug 08 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP7数组的底层实现示例
Aug 25 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 03 PHP
PHP与Web页面交互操作实例分析
Jun 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+mysql)
2007/11/23 PHP
php+mysql 实现身份验证代码
2010/03/24 PHP
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
PHP SPL标准库之接口(Interface)详解
2015/05/11 PHP
PHP Yii框架之表单验证规则大全
2015/11/16 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
popdiv
2006/07/14 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法
2017/01/05 Javascript
JavaScript基础进阶之数组方法总结(推荐)
2017/09/04 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
webpack打包js的方法
2018/03/12 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
node.js通过url读取文件
2020/10/16 Javascript
[01:30:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第二场 2月2日
2021/03/11 DOTA
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
python中安装模块包版本冲突问题的解决
2017/05/02 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
2019/07/04 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
基于Python实现扑克牌面试题
2019/12/11 Python
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
经典婚礼主持词
2014/03/13 职场文书
安全标语口号
2014/06/09 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
导游词欢迎词
2015/02/02 职场文书