PHP_递归函数时return的Bug
最近在用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
?>
作者:四云麒麟
补充:Web开发 , php ,