知识屋:更实用的电脑技术知识网站
所在位置:首页 > 编程技术 > PHP编程

PHP_递归函数时return的Bug

发布时间:2015-05-27 19:33:36作者:知识屋

最近在用PHP写一些设计模式的小例子,有大量的设计模式都会递归调用对象或者函数。有的时候需要返回处理状态,就会用到return。在JAVA中 只要在函数内部return就可以得到最后的结果。而在PHP中必须要在掉过递归函数的时候加上return才能正常使用。

举个例子

 
01
<?php
02
/**
03
*这样的写法在调用时,当$i < 3时需要递归重新调用函数。如果是在JAVA中,就可以返回$i的值,而PHP就不能。
04
*/
05
function TestReturn($i){
06
    if($i < 3)
07
    {
08
        $i++;
09
        TestReturn($i);
10
    }
11
    return $i;
12
}
13
 
14
/**
15
*在PHP中,必须要在递归调用函数时加上return
16
*/
17
function TestReturn($i){
18
    if($i < 3)
19
    {
20
        $i++;
21
        return TestReturn($i);
22
    }
23
    return $i;
24
}
25
 
26
?>


作者:四云麒麟
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜