PHP 再帰関数の使用法
再帰関数は自己呼び出し関数であり、関数本体で直接的または間接的に自己調整を実行します。に設定する必要がありますが、条件が満たされた場合は関数自体が呼び出され、条件が満たされなかった場合はこの関数のセルフチューニングが終了し、プロセスの制御が上位に戻ります。実行用のレイヤー関数。
コード例
<?php //声明一个函数,用于测试递归 function test($n){ echo $n." "; //在函数开始输出参数的值 if($n>0){ //判断参数是否大于0 test($n-1); //如果参数大于0则调用自己,并将参数减1后再次传入 }else{ //判断参数是不大于0 echo "<--------> "; } echo $n." "; } test(10); //调用test函数将整数10传给参数 ?>
まず考えてみましょう。この例の最終出力は何でしょうか?
さて、この関数の出力結果を見てみましょう。
10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
はどうでしょうか。この結果は予想どおりでしょうか?
ステップの説明
最初のステップは、test(10) を実行し、10 をエコーし、次に 10>0 であるため、test( 9) , 実行する時間がないエコー 10 がまだあります。2 番目のステップでは、テスト (9) を実行し、エコー 9 を実行します。次に、9>0 であるため、テスト (8) を実行します。同様に、エコーがまだあります。 9
3 番目のステップは、test(8)、echo 8 を実行し、次に 8>0 であるため、test(7) を実行することです。まだ実行されていない echo 8 もあります。実行する時間がありました。
4 番目のステップ ステップ 1、test(7) を実行し、echo 7 を実行し、7>0 であるため test(6) を実行します。また、echo 7
もあります。時間内に実行されていません。ステップ 5、test(6)、echo 6 を実行します。その後、6>0 であるため、test(5) が実行されます。echo 6
## もあります。 ......ステップ 10. 、test(0) を実行し、0 をエコーします。この時点では、0>0 の条件は満たされていません。test() 関数は実行されなくなりますが、 echo "71fb34173e4ee87dab1f85dc1c283a44" と、後続の echo 010 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10# が実行されます。 ##推奨チュートリアル: "PHP チュートリアル
以上がPHP 再帰関数の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。