-
- functiontest($i)
- {
- $i-=4; if($i<3)
- {
- return $i;
- }
- else
- {
- test($i);
- }
- }
- echotest(30);
- ?>
-
复制代码
以上代码好像没有问题,其实有else里面是有问题的。
在这里执行的test没有返回值,虽然满足条件$i
下面采用PHP递归函数加上返回值的方法,注意看代码中的注释部分与上面的代码有何不同:
-
- function test($i)
- {
- $i-=4; if($i<3)
- {
- return $i;
- }
- else
- {
- return test($i);//增加return,让函数返回值
- }
- }
- echotest(30);
- ?>
复制代码
|