->PHP<- comment retourner plusieurs valeurs. [Résolu/Fermé]

- - Dernière réponse :  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 !!
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
50
9
Merci
pourquoi ne pas retourner un tableaux?

Dire « Merci » 9

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62605 internautes nous ont dit merci ce mois-ci

Messages postés
11860
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
8 août 2019
2012
5
Merci
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.
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) { ...
Yoan
Messages postés
11860
Date d'inscription
mardi 1 février 2005
Statut
Modérateur
Dernière intervention
8 août 2019
2012 > le père -
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;
?>
<?php
function carre_cube($nb, &$carre, &$cube)
{
$carre=pow($nb,2);
$cube=pow($nb,3);
}

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

merci