Return ? return quoi ???

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Return ? return quoi ???

par stever » 31 août 2006, 17:21

Super merci a tous avec toutes vos reponse je commence a comprendre (pour info j'ai jamais fais d'info lol)

par jpaul » 31 août 2006, 17:07

Re salut,

En fait je pense que quand tu dis automatique, tu te demandes pourquoi $volume à l'intérieur de la fonction ne suffit pas à renseigner celui qui est à l'extérieur. Ben parce que ce ne sont pas les mêmes. Regarde la doc php à portée des variables.

Pour illustrer, j'ai modifié ton code :
<?php
// Ci-dessous, la fonction qui calcule le volume du cône
function VolumeCone($rayon, $hauteur)
{
echo "<BR>Contenu de truc dans VolumeCone (avant affectation) : '<B>".$truc."</B>'";
$truc="Pendant VolumeCone";
echo "<BR>Contenu de truc dans VolumeCone (après affectation) : '<B>".$truc."</B>'";
$resultat = $rayon * $rayon * 3.14 * $hauteur * (1/3); // calcul du volume
return $resultat;
}
$truc="Avant VolumeCone";
echo "<BR>Contenu de truc avant appel de VolumeCone : '<B>".$truc."</B>'";
$volume = VolumeCone(3, 1);
echo "<BR>Le volume d'un cône de rayon 3 et de hauteur 1 est de $volume";
echo "<BR>Contenu de truc après appel de VolumeCone : '<B>".$truc."</B>' (normalement, il est inchangé...)";
?>
Comme tu peux le voir j'ai remplacé la variable volume par resultat à l'intérieur de la fonction et ca marche toujours.
J'ai aussi ajouté une variable truc à l'extérieur de la fonction et à l'intérieur pour mettre en évidence que ce sont 2 variables différentes.

En espérant avoir répondu à ta question.

par iclo » 31 août 2006, 16:24

Pour ceux qui ont fait du Turbo-Pascal,
c'est la différence entre fonctions et procédures.
Haaa, le Pascal, mon premier langage de programmation, pas de connexion internet, pour demander de l'aide sur les forums. On se débrouillait tout seul, mais au moins quand on trouvait le bug, on avait vraiement compris le comment du pourquoi :D :D

par ouckileou » 31 août 2006, 16:06

ok mais pourquoi a t ilo besoin de la recupéré ?

pourquoi ca se fait pas automatiquement
Comment ça automatiquement ?

Si une fonction renvoie un résultat, il faut bien le stocker quelque part pour l'utiliser, et il faut dire où.

Sinon ça part dans la nature. Comment pensais-tu que ça fonctionnait ?

Si c'était stocké automatiquement dans un endroit précis, tu perds l'intérêt des fonctions qui est d'intégrer un traitement dans ue fonction, et de l'appeller de n'importe où sur des variables différentes.

par sadeq » 31 août 2006, 16:05

Soit la fonction suivante :
function somme ($a, $b) {
   return $a+$b; //retourne la somme de $a et $b à celui qui appelle cette fonction
}
Cette fonction comme toutes les fonctions d'ailleurs retourne une valeur à celui qui souhaite l'appeler (ou l'exécuter) en l'occurence à celui qui veut faire une somme de deux valeurs.
Supposons que j'ai besoin de faire ça, j'écrirai alors dans mon programme l'appel suivant :
$resultat_attendu = somme(1, 2); //j'appelle la fonction somme en lui donnant deux valeurs 1 et 2
echo "La somme de 1 et 2 est ",$resultat_attendu; //et j'affiche le résultat reçu de la fonction somme
As-tu compris ? la fonction retourne une valeur à un programme qui l'appelle et la valeur retournée est toujours reçue dans une variable d'appel :
Syntaxe générale : $variable = fonction_appelée(paramètres éventuels);

par albat » 31 août 2006, 16:05

Il a besoin de la récupérer parce que ... parce que ça ne se fait pas automatiquement ! :lol:

Pour ceux qui ont fait du Turbo-Pascal,
c'est la différence entre fonctions et procédures.

par stever » 31 août 2006, 16:03

ok mais pourquoi a t ilo besoin de la recupéré ?

pourquoi ca se fait pas automatiquement

par ouckileou » 31 août 2006, 16:00

il la récupère pour la mettre ou
$volume = VolumeCone(3, 1); 
Le retour de la fonction est ici mis dans la variable $volume


Je répond avant que quelqu'un fasse une mauvaise blague :P

par stever » 31 août 2006, 15:43

il la récupère pour la mettre ou

par charabia » 31 août 2006, 15:32

Ce return te permet de récupérer la valeur finale de la fonction, ton calcul en gros.

Si tu ne le mets pas (essaies de le mettre en commentaire) tu verras que tu n'auras plus rien d'affiché.

par jpaul » 31 août 2006, 15:29

Salut,

Ben tu appelles ta fonction :
$volume = VolumeCone(3, 1); 
le return de la fonction VolumeCone permet d'indiquer lae valeur de retour de la fonction (celle qui va etre pmise dans volume) !!!

Return ? return quoi ???

par stever » 31 août 2006, 15:05

Bonjour

je ne comprend pas l'intéret de RETURN

Code : Tout sélectionner

<?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 ???