Quelqu'un peut-il m'expliquer les fonctions récursives en PHP (sans utiliser Fibonacci) en termes simples et à l'aide d'exemples ? Je regarde un exemple mais Fibonacci est complètement perdu pour moi !
Merci d'avance ;-) De plus, à quelle fréquence les utilisez-vous dans le développement Web ?
Un exemple serait d'imprimer chaque fichier dans n'importe quel sous-répertoire d'un répertoire donné (s'il n'y a pas de liens symboliques dans ces répertoires, cela pourrait interrompre la fonctionnalité d'une manière ou d'une autre). Le pseudo code pour imprimer tous les fichiers est le suivant :
L'idée est d'imprimer d'abord tous les sous-répertoires, puis d'imprimer les fichiers du répertoire courant. Cette idée fonctionne pour tous les sous-répertoires, c'est pourquoi cette fonction est appelée de manière récursive pour tous les sous-répertoires.
Si vous voulez essayer cet exemple, vous devez consulter le répertoire spécial
.
和..
,否则你会陷入调用printAllFiles(". ")
一直如此。此外,您必须检查要打印的内容以及当前的工作目录是什么(请参阅opendir()
、getcwd()
...).Terme du profane :
Une fonction récursive est une fonction qui s'appelle elle-même
Allez un peu plus loin :
Si une fonction continue de s'appeler, comment sait-elle quand s'arrêter ? Vous définissez une condition, appelée scénario de base. Le cas de base indique à notre appel récursif quand s'arrêter, sinon il bouclera à l'infini.
Pour moi, un excellent exemple dont on peut tirer des leçons est Factorial一个>. D'après les commentaires ci-dessous, il semble que la fonction factorielle soit un peu trop lourde, je la laisse ici juste au cas où vous en auriez besoin.