Maison > développement back-end > Problème PHP > Utilisation de la fonction récursive PHP

Utilisation de la fonction récursive PHP

Guanhui
Libérer: 2023-03-01 12:46:01
original
2366 Les gens l'ont consulté

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传给参数
?>
Copier après la connexion

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
Copier après la connexion

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 "<-->", 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
Copier après la connexion

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal