Maison > développement back-end > tutoriel php > Connaissez-vous les précautions d'utilisation du return dans les fonctions récursives PHP ?

Connaissez-vous les précautions d'utilisation du return dans les fonctions récursives PHP ?

怪我咯
Libérer: 2023-03-12 19:40:01
original
1367 Les gens l'ont consulté

Lors de l'utilisation de

return dans fonction récursive php , vous pouvez rencontrer des situations où la valeur souhaitée ne peut pas être renvoyée correctement. Donnons un exemple pour illustrer

Lors de l'utilisation. return dans une fonction récursive PHP, vous rencontrerez des situations où la valeur souhaitée ne peut pas être renvoyée correctement. Si vous ne comprenez pas la raison, il sera difficile de trouver l'erreur. Illustrons-la avec l'exemple spécifique suivant :

Le code est le suivant :

function test($i){ 
$i-=4; 
if($i<3){ 
return $i; 
}else{ 
test($i); 
} 
} 
echotest(30);
Copier après la connexion

Ce code semble n'avoir aucun problème si vous ne l'exécutez pas, vous ne penserez probablement pas qu'il a un problème. exécutez-le à temps et constatez qu'il y a un problème, vous ne savez peut-être pas où il se trouve, mais en fait il y a un problème dans le reste de cette fonction. Le résultat de l'exécution dans ce code n'a aucune valeur de retour. Ainsi, même si la condition $i<3 est remplie et que le retour $i est renvoyé, la fonction entière ne renverra pas de valeur. Par conséquent, la fonction récursive PHP ci-dessus peut être modifiée comme suit (pour plus de Tutoriels PHP veuillez visiter Code Home) :

Le code est le suivant :

function test($i){ 
$i-=4; 
if($i<3){ 
return $i; 
}else{ 
return test($i);//增加return,让函数返回值 
} 
} 
echotest(30);
Copier après la connexion

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