->PHP<- comment retourner plusieurs valeurs.

Résolu/Fermé
Jean-Phil - 8 juin 2009 à 17:15
 LeSenseii - 4 juil. 2013 à 14:56
Bonjour,
comment retourner plusieurs variables d'une fonction php avec un return??

exemple du style :
return $toto,$tata; (ceci ne marche pas)

merci !!
A voir également:

3 réponses

dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
8 juin 2009 à 17:23
pourquoi ne pas retourner un tableaux?
9
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330
8 juin 2009 à 17:21
Une fonction ne renvoie toujours qu'une valeur.
Pour sortir plusieurs valeurs tu peux utiliser ce que d'autres langages appelleraient des procédures et passer les valeurs à retourner en paramètres. Par exemple :

<?php
function carre_cube($nb, $carre, $cube)
{
  $carre=$nb^2;
  $cube=$nb^3;
}

$mon_nombre=5;
carre($mon_nombre, $son_carre, $son_cube);
echo $son_carre; //affichera 25
echo $son_cube; //affichera 125
?>

Ici $nb est utilisé en entrée et $cube, $carre en sortie.
5
Bonjour

Ne poste pas trop vite, quand même ... ;-)
tu définis la fonction carre_cube, mais tu appelles carre
Tu utilises l'opérateur ou exclusif ^ au lieu de l'élévation à une puissance
Mais surtout, pour le problème du retour des valeurs, tu oublies que le passage des paramètres se fait par valeurs en PHP. Si on veut retourner une valeur, il faut faire un passage par référence en mettant & devant les variables :
function carre_cube($nb, &$carre, &$cube) { ...
0
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 330 > le père
8 juin 2009 à 17:52
Fichtre, merci ;-)
<?php
function carre_cube($nb, $carre, $cube)
{
$carre=pow($nb,2);
$cube=pow($nb,3);
}

carre_cube(5, &$moncarre, &$moncube);
echo $moncarre.' '.$moncube;
?>
0
<?php
function carre_cube($nb, &$carre, &$cube)
{
$carre=pow($nb,2);
$cube=pow($nb,3);
}

carre_cube(5, $moncarre, $moncube);
echo $moncarre.' '.$moncube;
?>
1
pas bête je vais suivre vos conseils

merci
1