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!