-
- functiontest($i)
- {
- $i-=4; if($i<3)
- {
- return $i;
- }
- else
- {
- test($i) ;
- }
- }
- echotest(30);
- ?>
-
コードをコピー
上記のコードは問題が無いように見えますが、実はelseに問題があります。
ここで実行されるテストは条件 $i が満たされていますが、戻り値がありません。
次のメソッドは PHP 再帰関数を使用し、値を返します。コード内のコメントと上記のコードの違いに注意してください。
-
- function test($i)
- {
- $i-=4; if($i<3)
- {
- return $i;
- }
- else
- {
- return test( $i);//return を追加して関数に値を返させます
- }
- }
- echotest(30);
- ?>
コードをコピー
|