Maison >développement back-end >Problème PHP >Utilisation de la fonction récursive PHP
Utilisation de la fonction récursive PHP
Une fonction récursive est une fonction auto-appelante, qui effectue un auto-réglage directement ou indirectement dans le corps de la fonction , mais doit être défini. Si la condition est remplie, la fonction elle-même sera appelée. Si elle n'est pas remplie, l'auto-réglage de cette fonction sera terminé, puis le contrôle du processus sera renvoyé à la couche supérieure. fonction pour l'exécution.
Exemple de code
<?php //声明一个函数,用于测试递归 function test($n){ echo $n." "; //在函数开始输出参数的值 if($n>0){ //判断参数是否大于0 test($n-1); //如果参数大于0则调用自己,并将参数减1后再次传入 }else{ //判断参数是不大于0 echo "<--------> "; } echo $n." "; } test(10); //调用test函数将整数10传给参数 ?>
Réfléchissez-y d'abord, quel est le résultat final de cet exemple ?
D'accord, regardons le résultat de sortie de cette fonction :
10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
Et si, je me demande si ce résultat est le même que prévu ?
Explication de l'étape
La première étape consiste à exécuter test(10), echo 10, puis parce que 10>0, exécuter test( 9) , il y a encore l'écho 10 qui n'a pas eu le temps de s'exécuter.
La deuxième étape consiste à exécuter test(9), echo 9, puis parce que 9>0, exécuter test(8) de la même manière. , il y a encore un écho qui n'a pas eu le temps de s'exécuter. 9
La troisième étape est d'exécuter le test (8), echo 8, et puis parce que 8>0, exécuter le test (7). echo 8 qui n'a pas eu le temps d'être exécuté.
La quatrième étape Étape 1, exécutez test(7), echo 7, puis exécutez test(6) car 7>0 Il y a aussi echo 7 qui. n'a pas été exécuté à temps.
Étape 5, exécutez test(6), echo 6. Puis parce que 6>0, test (5) est exécuté. Il y a aussi echo 6 qui n'a pas eu le temps de l'être. exécuté.
.....
Étape 10, exécutez test(0), echo 0. À ce stade, la condition 0>0 n'est pas satisfaite. n'est plus exécuté, mais echo "71fb34173e4ee87dab1f85dc1c283a44", et l'écho suivant 0
10 9 8 7 6 5 4 3 2 1 0 <--> 0 1 2 3 4 5 6 7 8 9 10
Tutoriel recommandé : "Tutoriel PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!