Maison  >  Article  >  développement back-end  >  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 ?

怪我咯
怪我咯original
2017-07-06 09:49:051355parcourir

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

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

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