PHP 再帰関数の使用法

Guanhui
Guanhuiオリジナル
2020-06-06 10:08:042364ブラウズ

PHP 再帰関数の使用法

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 0

10 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。