PHP_再帰関数時returnのBug


最近はPHPでいくつかの設計モードの例を書いていますが、多くの設計モードが再帰的にオブジェクトや関数を呼び出します。処理状態に戻る必要がある場合は、リターンを使用します。JAVAでは関数の内部でリセットすれば最後の結果が得られます。PHPでは再帰関数を落とした時にreturnを加えなければ正常に使えません。
例をあげる
<?php
/**
*         , $i < 3           。    JAVA ,     $i  , PHP   。
*/
function TestReturn($i){
    if($i < 3)
    {
        $i++;
        TestReturn($i);
    }
    return $i;
}

/**
* PHP ,             return
*/
function TestReturn($i){
    if($i < 3)
    {
        $i++;
        return TestReturn($i);
    }
    return $i;
}

?>