最近在用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
?>