stever34 Posté 31 Août 2006 Posté 31 Août 2006 Bonjour je ne comprend pas l'intéret de RETURN <?php // Ci-dessous, la fonction qui calcule le volume du cône function VolumeCone($rayon, $hauteur) { $volume = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume return $volume;} $volume = VolumeCone(3, 1); echo "Le volume d'un cône de rayon 3 et de hauteur 1 est de $volume"; ?> c'est quoi le role de return il envoie la valeur a qui ???
Portekoi Posté 31 Août 2006 Posté 31 Août 2006 Bonjour, Return te permets de récupérer la valeur renvoyée (return) par la fonction. Portekoi
Dan Posté 31 Août 2006 Posté 31 Août 2006 Tu as une ligne où il est écrit: $volume = VolumeCone(3, 1); Donc $volume prend la valeur retournée par la fonction volumeCone() ... et en Anglais "retourner" se dit "return" Dan
Bourinho Posté 31 Août 2006 Posté 31 Août 2006 (modifié) Salut, je pense que tu fais une confusion entre le $volume present dans la fonction que tu définis et celui qui intervient ensuite! en fait, le $volume present dans la fonction n'existe pas ailleurs que dans la fonction... je crois que l'on appelle ça une variable locale. L'autre est present en tant que variable pour tout ton fichier. Pour etre plus clair, le script pourrait s'ecrire comme suit : <?php// Ci-dessous, la fonction qui calcule le volume du cônefunction VolumeCone($rayon, $hauteur){$volumelocal = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volumereturn $volumelocal;}$volumeglobal = VolumeCone(3, 1);echo "Le volume d'un cône de rayon 3 et de hauteur 1 est de $volumeglobal";?> Donc le return, dans ta fonction sert à savoir quelle valeur renvoyer lorsque l'on appelle ta fonction VolumeCone. Sans ce return, t'as fonction fait le calcul mais ne renvoit rien...pas top En espérant avoir été clair, ce dont je ne suis pas sur... [Edit]Double grillage [/Edit] Modifié 31 Août 2006 par Bourinho
stever34 Posté 31 Août 2006 Auteur Posté 31 Août 2006 Oui merci la confusion vient bien du fait que les 2 variables portent le meme nom mais qu'en réalité ce ne sont pas les même variable. mais c'est toujours pas clair a 100 % Dans la fonction j'ai $volumelocal, qui n'existe que dans la fonction. quand le script exécute la ligne $volumelocal = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume Il fait bien le calcul ? donc $volumelocal existe. return $volumelocal; return renvoie la variable $volumelocal a qui ??? puisque en dehors du script ma variable ne s'appelle plus pareil $volumeglobal
captain_torche Posté 31 Août 2006 Posté 31 Août 2006 En gros, return va signifier "envoie le résultat à l'appelant". Là, l'appelant, c'est $volumeglobal. Textuellement, tu dis : $volumeglobal = le résultat de la fonction VolumeCone Sinon, $volumeLocal existe, mais juste au sein de la fonction. Il n'existe pas en-dehors.
Bourinho Posté 31 Août 2006 Posté 31 Août 2006 (modifié) Salut, en fait, quand tu mets dans ton code : $volumeglobal = VolumeCone(3, 1); Le serveur comprend : il utilise la fonction VolumeCone avec les paramètres (3,1). Alors il cherche la definition de la fonction VolumeCone... et il la trouve juste au dessus! Donc il utilise la defintion de ta fonction avec les variables citées precedement. Et dans ta definition, tu utilises une variable locale $volumelocal qui ne sert que d'intermédiaire finalement. Et à la fin de ta définition, tu dis juste de remplacer VolumeCone(3,1) par la valeur prise par $volumelocal (c'est le return qui signifie ça...) en espérant avoir été clair...et c'est pas evident [Edit]Re-Grillage...[/Edit] Modifié 31 Août 2006 par Bourinho
Remi Posté 31 Août 2006 Posté 31 Août 2006 (modifié) Pour simplifier, il faut se représenter une fonction comme un ensemble autonome et indépendant: On lui donne des paramètres en entrée et elle nous donne quelque chose en sortie. Une fois la fonction exécutée, les variables créées par la fonction n'existent plus. Modifié 31 Août 2006 par Remi
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant