Question fonction PHP et return
playboy-1990
Messages postés
593
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai entendus dire que si la commande return est appelé dans une fonction elle arrête la fonction.
Donc je me demande si cette fonction est correcte :
Merci d'avance dans l'attente d'une réponse ;)
--
Appuyer sur Ctrl + W pour voir quelque chose d'étonnant et fantastique...
J'ai entendus dire que si la commande return est appelé dans une fonction elle arrête la fonction.
Donc je me demande si cette fonction est correcte :
<?php
function test($letest='') {
if(!empty($letest)) {
return $letest;
return true;
} else {
return false;
}
}
?>
Merci d'avance dans l'attente d'une réponse ;)
--
Appuyer sur Ctrl + W pour voir quelque chose d'étonnant et fantastique...
3 réponses
-
Salut,
Avec une meilleure indentation :<?php function test($letest='') { if(!empty($letest)) { return $letest; return true; } else { return false; } }
Si la chaine n'est pas vide, ta fonction retourne la chaine.
Je suppose que le but est de retourner true ou false, donc il faut supprimer la ligne :return $letest;
-
-
Une fonction ne peut retourner qu'une valeur.
La solution est donc de retourner false ou bien la chaine.
Et une chaine qui n'est pas vide est égale à true.
Donc :<?php function test($letest='') { if(!empty($letest)) { return $letest; } else { return false; } } $chaine = '...'; if(test($chaine) == true) { echo 'Pas vide'; } else { echo 'Vide'; } ?>
-
-
bonjour, essaye
return true . $letest;
Car dans ton code le second return ne sera jamais pris en compte. -
Sinon tu peut essayer les "références" (https://www.php.net/manual/fr/language.references.pass.php )
ex:$a=1 function test(&$letest) { if(!empty($letest)) { $letest++; return true; } else { return false; } } test($a) echo $a //affiche 2
D'ailleurs dans ta fonction function test($letest='') fait que $letest ne sera jamais vide, vu que tu lui asigne une valeur par défaut...