• 技术文章 >php教程 >php手册

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

    2016-06-13 11:04:41原创407
    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递归函数的返回值上。这是开始写的:

    1. php
    2. functiontest($i)
    3. {
    4. $i-=4;
    5. if($i<3)
    6. {
    7. return$i;
    8. }
    9. else
    10. {
    11. test($i);
    12. }
    13. }
    14. echotest(30);
    15. ?>

    这段代码看起来没有问题,其实有else里面是有问题的。在这里执行的test没有返回值。所以虽然满足条件$i<3时return$i整个函数还是不会返回值的。对上面的PHP递归函数做如下修改:

    1. php
    2. functiontest($i)
    3. {
    4. $i-=4;
    5. if($i<3)
    6. {
    7. return$i;
    8. }
    9. else
    10. {
    11. returntest($i);//增加return,让函数返回值
    12. }
    13. }
    14. echotest(30);
    15. ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:主流Apache 2 PHP5安装使用介绍 下一篇:关于三种PHP操作符详细介绍
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 53个要点提高PHP编程效率,53php编程效率• php批量添加数据与批量更新数据的实现方法,php添加数据• php的数据数据类型• php上传图片之时间戳命名(保存路径),• 大型网站架构演变和知识体系
    1/1

    PHP中文网