Maison > développement back-end > tutoriel php > Analyse d'un exemple de fonction récursive PHP

Analyse d'un exemple de fonction récursive PHP

小云云
Libérer: 2023-03-20 20:00:02
original
1849 Les gens l'ont consulté

Cet article

   public function digui($i)
    {

        if($i=='1'){
            echo  "*" ;
            echo "<br>";
            return ;
        }else{
            $this->digui($i-1);
            for($j=1;$j<=$i;$j++){
                echo  "*" ;
            }
            echo "<br>";
        }
    }
 调用 $this->digui(3);
结果
*
**
***

  function digui2($n){
        echo $n." ";
        if($n>0){
            $this-> digui2($n-1);
        }else{
            echo "<-->";
        }
        echo $n." ";
    }
Copier après la connexion

appelle $this->digui2(3);

résultat

3 2 1 0 <--> ; 0 1 2 3

Exemple d'anatomie d'exécution de fonction récursive (republié par d'autres)

Regardez le code suivant :

<?php
function one($num){
echo $num;
two($num-1);
echo $num;
}
function two($num){
echo $num;
three($num-1);
echo $num;
}
function three($num){
echo $num;
}
one(3);
?>
Copier après la connexion

Le code ci-dessus effectue le Fonction test() Pour décomposer l'opération, nous pensons :
Lors de l'exécution de la fonction one(3), tout comme la fonction test(), sortez d'abord 3, puis appelez la fonction two(2)
Remarque. que ce qui suit n'a pas été sorti pour le moment. 3.
Continuez, exécutez la fonction two(2), sortez 2 et appelez la fonction three(1) De même, vous n'avez pas le temps de sortir le 2 suivant. .
Exécutez three(1), sortie 1 directement, et n'appelez plus d'autres fonctions,
À ce stade, nous nous demandons si la fonction two() n'a tout simplement pas encore été exécutée. D'accord, puis exécutez la partie inachevée. de la fonction two(). Une fois la fonction two() exécutée, ce qui suit est affiché 2. Commencez ensuite à exécuter la partie inachevée de la fonction one(), c'est-à-dire affichez ce qui suit 3. À ce stade, toutes les fonctions. ont été exécutés.
Ensuite, le résultat de sortie est :
3 2 1 2 3

Recommandations associées :

Explication détaillée de la fonction récursive PHP

Explication de l'appel des fonctions récursives php

Analyse de trois façons d'implémenter les fonctions récursives 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:
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