Maison  >  Article  >  développement back-end  >  La récursivité PHP ne peut pas renvoyer le problème, la bonne façon d'écrire la récursivité

La récursivité PHP ne peut pas renvoyer le problème, la bonne façon d'écrire la récursivité

不言
不言original
2018-04-20 11:36:281476parcourir

Le contenu de cet article concerne le problème que la récursivité PHP ne peut pas renvoyer. La bonne façon d'écrire la récursivité a une certaine valeur de référence. Maintenant, je la partage avec tout le monde. Les amis dans le besoin peuvent s'y référer

Conventionnel. méthode d'écriture

function digui($tiaojian){
    if ($tiaojian) {        return  $data;
    }    else{        return digui();
    }
}


Remarque : Lorsque la condition n'est pas remplie, la fonction récursive doit être renvoyée. Sinon,

ne peut pas être renvoyé normalement si la récursivité est uniquement destinée à la sortie. Peut être abrégé :

function digui($tiaojian){
    if ($tiaojian) {        echo $data;
    }    else{
        digui();
    }
}

Écriture de citation

function digui($tiaojian,&$result){
    if ($tiaojian) {        $result=$data;
    }    else{
        digui();
    }
}

Variable statique

function digui(){
    static $count=0;    echo $count;    $count++;
}

digui();
digui();
digui();
digui();
digui();

Le résultat de sortie est : 0 1 2 3 4
Remarque : Variable statique La méthode doit être utilisée avec prudence. Parce que chaque fois que cette méthode est appelée, la méthode d'origine qui a initialement défini cette variable sera utilisée.

Même non défini ne peut pas détruire les variables statiques

function digui(){
    static $count=0;    echo $count;    $count++;    unset($count);
}

digui();
digui();
digui();
digui();
digui();

Ce code génère toujours 0 1 2 3

Recommandations associées :

Fonction récursive PHP exemple d'analyse


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