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边学边教》(01.开篇――准备工作)
Dec 13 PHP
黑夜路人出的几道php笔试题
Aug 04 PHP
ThinkPHP利用PHPMailer实现邮件发送实现代码
Sep 26 PHP
ThinkPHP行为扩展Behavior应用实例详解
Jul 22 PHP
MyEclipse常用配置图文教程
Sep 11 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】
Oct 07 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
laravel 实现上传图片到本地和前台访问示例
Oct 21 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
咖啡与水的关系
2021/03/03 冲泡冲煮
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
Mac地址验证的javascript代码
2013/11/09 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
[00:17]天涯墨客一技能展示
2018/08/25 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
平面设计自荐信
2013/10/07 职场文书
文秘应届生求职信
2014/07/05 职场文书
开发房地产协议书
2014/09/14 职场文书
群众路线对照检查剖析材料
2014/10/09 职场文书
教你怎么用Python处理excel实现自动化办公
2021/04/30 Python
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL