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);?> コードをコピー