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
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(); } }
function digui($tiaojian,&$result){ if ($tiaojian) { $result=$data; } else{ digui(); } }
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!