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 相关文章推荐
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
Oct 09 PHP
Zend 输出产生XML解析错误
Mar 03 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
PHP中require和include路径问题详解
Dec 25 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
php使用指定字符列表生成随机字符串的方法
Apr 18 PHP
PHP批量生成图片缩略图的方法
Jun 18 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 PHP
Yii2创建表单(ActiveForm)方法详解
Jul 23 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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中路径问题的解决方案
2006/10/09 PHP
在PHP中养成7个面向对象的好习惯
2010/07/17 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
js中replace的用法总结
2013/12/27 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
Javascript中绑定click事件的四种方式介绍
2018/10/26 Javascript
详解微信小程序获取当前时间及日期的方法
2019/04/28 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
python中sys.argv函数精简概括
2018/07/08 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
几道PHP面试题
2013/04/14 面试题
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
yy结婚证婚词
2014/01/10 职场文书
就业表自我评价分享
2014/02/06 职场文书
平安工地汇报材料
2014/08/19 职场文书
房产公证书
2015/01/23 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
php远程请求CURL案例(爬虫、保存登录状态)
2021/04/01 PHP
Springboot/Springcloud项目集成redis进行存取的过程解析
2021/12/04 Redis
sql查询语句之平均分、最高最低分及排序语句
2022/05/30 MySQL