digui($i-1);            pour($j=1;$j"/> digui($i-1);            pour($j=1;$j">

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

Analyse d'un exemple de fonction récursive PHP

小云云
小云云original
2018-03-06 11:38:521744parcourir

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." ";
    }

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);
?>

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!

Déclaration:
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