->PHP<- comment retourner plusieurs valeurs.

Résolu
Jean-Phil -  
 LeSenseii -
Bonjour,
comment retourner plusieurs variables d'une fonction php avec un return??

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

merci !!

3 réponses

  1. dreamfeeder Messages postés 253 Statut Membre 54
     
    pourquoi ne pas retourner un tableaux?
    9
  2. Yoan Messages postés 11905 Statut Modérateur 2 356
     
    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
    1. le père
       
      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
      1. Yoan Messages postés 11905 Statut Modérateur 2 356 > 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;
        ?>
        0
    2. LeSenseii
       
      <?php
      function carre_cube($nb, &$carre, &$cube)
      {
      $carre=pow($nb,2);
      $cube=pow($nb,3);
      }

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

    merci
    1