php 再帰関数 で return を使用すると、目的の値が正しく返されない状況が発生する可能性があります。例を示します。値が正しく返されない場合、エラーを見つけるのは困難です。次の具体的な例を見てみましょう:
コードは次のとおりです:
function test($i){ $i-=4; if($i<3){ return $i; }else{ test($i); } } echotest(30);
動作しない場合は問題ありません。 一見すると、問題がないように思えますが、実際には、問題がどこにあるのかわからない場合があります。この関数の else に問題があります。このコードの実行結果には戻り値はありません。したがって、条件 $i<3 が満たされ、return $i が返されたとしても、関数全体は値を返しません。したがって、上記の PHP 再帰関数は次のように変更できます (
PHP チュートリアルの詳細については、コード ホームをご覧ください):
コードは次のとおりです:
function test($i){ $i-=4; if($i<3){ return $i; }else{ return test($i);//增加return,让函数返回值 } } echotest(30);
以上がPHPの再帰関数でreturnを使うときの注意点はご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。