浅析PHP递归函数返回值使用方法


Posted in PHP onFebruary 18, 2013

PHP经过长时间的发展,很多用户都很了解PHP了,PHP最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。

在 1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功 能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年 中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。

在我的之前的编程中遇到了一个PHP递归函数的问题,其实是一个很简单的问题。问题出在PHP递归函数的返回值上。这是开始写的:

<?php 
functiontest($i) 
{  
$i-=4;  if($i<3) 
{
return$i; 
}  
else 
{  
test($i); 
}   
}   
echotest(30);  
?>

这段代码看起来没有问题,其实有else里面是有问题的。在这里执行的test没有返回值。所以虽然满足条件$i<3时return$i整个函数还是不会返回值的。对上面的PHP递归函数做如下修改:
<?php 
functiontest($i)
{  
$i-=4;  if($i<3)  
{  
return$i;  
}  
else  
{  
returntest($i);//增加return,让函数返回值  
}  
}   
echotest(30);  
?>
PHP 相关文章推荐
PHP生成HTML静态页面实例代码
Aug 31 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
php缓冲 output_buffering的使用详解
Jun 13 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
php中如何防止表单的重复提交
Aug 02 PHP
php时间戳格式化显示友好的时间函数分享
Oct 21 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
php的4种常用运行方式详解
Dec 22 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
PHP编程计算文件或数组中单词出现频率的方法
May 22 PHP
laravel接管Dingo-api和默认的错误处理方式
Oct 25 PHP
php优化查询foreach代码实例讲解
Mar 24 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
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 #PHP
php设计模式小结
Feb 15 #PHP
php安全开发 添加随机字符串验证,防止伪造跨站请求
Feb 14 #PHP
You might like
广播爱好者需要了解的天线知识
2021/03/01 无线电
基于PHP创建Cookie数组的详解
2013/07/03 PHP
PHP截取指定图片大小的方法
2014/12/10 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
2019/07/12 PHP
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
2011/02/23 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
node.js-v6新版安装具体步骤(分享)
2017/09/06 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
python切换hosts文件代码示例
2013/12/31 Python
跟老齐学Python之有点简约的元组
2014/09/24 Python
详解Python程序与服务器连接的WSGI接口
2015/04/29 Python
Python实现文件按照日期命名的方法
2015/07/09 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
python实现五子棋小游戏
2020/03/25 Python
Python根据服务获取端口号的方法
2019/09/25 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
瀑布模型都有哪些优缺点
2014/06/23 面试题
毕业生的自我评价
2013/12/30 职场文书
先进个人事迹材料
2014/01/25 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
小学生国旗下演讲稿
2014/04/25 职场文书
语文教育专业求职信
2014/06/28 职场文书
村道德模范事迹材料
2014/08/28 职场文书
学校开学标语
2014/10/06 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers