IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Récuperer variable dans une fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par défaut [Tableaux] Récuperer variable dans une fonction
    bonjour,
    je suis bloqué sur la recupération de variables suand j'appel une fonction:

    function generenb()
    {
    $rand = mt_rand(1000,9999);
    return $rand;
    $nb=2;
    return $nb;
    }

    Comment puis je récupérer des variables $rand et $nb dans mon code principal?

    merci pour votre aide!

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Et ton code principal ?!

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Février 2006
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 2
    Par défaut
    et bien à mon avis il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    function generenb()
    {
    $rand = mt_rand(1000,9999);
    $nb= 2;
    }
    generenb();
    echo $rand . "<br />" . $nb;
    ?>

  4. #4
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function generenb() 
    { 
    $rand = mt_rand(1000,9999); 
    return $rand; 
    $nb=2; 
    return $nb; 
    }
    Vas falloir choisir, soit tu renvoies $nb soit tu renvoies $rand. Sinon tu renvoies un tableau de valeur mais dans ton code actuel tu ne renvoies que $rand...


    Citation Envoyé par Dolerho
    et bien à mon avis il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    function generenb()
    {
    $rand = mt_rand(1000,9999);
    $nb= 2;
    }
    generenb();
    echo $rand . "<br />" . $nb;
    ?>
    bon la vas falloir revoir ces cours d'algo

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Par défaut
    En effet, une fonction ne renvoie qu'une valeur (return met fin à la fonction). Solution avec un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function generenb() 
    { 
    $reponse['rand'] = mt_rand(1000,9999); 
    $reponse['nb']=2; 
    return $reponse; 
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par défaut
    Citation Envoyé par ePoX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function generenb() 
    { 
    $rand = mt_rand(1000,9999); 
    return $rand; 
    $nb=2; 
    return $nb; 
    }
    Vas falloir choisir, soit tu renvoies $nb soit tu renvoies $rand. Sinon tu renvoies un tableau de valeur mais dans ton code actuel tu ne renvoies que $rand...


    Citation Envoyé par Dolerho
    et bien à mon avis il suffit de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php
    function generenb()
    {
    $rand = mt_rand(1000,9999);
    $nb= 2;
    }
    generenb();
    echo $rand . "<br />" . $nb;
    ?>
    bon la vas falloir revoir ces cours d'algo
    ça marche pas, j'ai testé, c'etait trop simple aussi a mon avis... par contre le tableau me semble être une bonne idée, je vais essayer ça

  7. #7
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function generenb()
    {
    $rand = mt_rand(1000,9999);
    $nb=2;
    $tab=array($rand,$nb);
    return $tab;
    }
    $tab[0] contient $rand
    $tab[1] contient $nb

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par défaut
    c'est bizarre, je n'arrive pas a afficher les valeurs du tableau, dans mon code principal:

    echo $reponse[rand];

    Quelq'un a une idée?

  9. #9
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    comme je te lé mis plut haut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $tab[0]; // afiche la valeur de $rand

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par défaut
    <?
    if (isset($_POST['valider']))
    {
    generenb();

    echo $tab[0];
    echo $tab[1];
    }


    function generenb()
    {
    $rand = mt_rand(1000,9999);
    $nb=2;
    $tab=array($rand,$nb);
    return $tab;
    }
    ?>

    Voila le code complet, je le met car ça ne marche toujours pas malgrés mes tests

  11. #11
    Membre Expert
    Inscrit en
    Juillet 2004
    Messages
    1 027
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 1 027
    Par défaut
    La balise code, merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <? 
    if (isset($_POST['valider'])) 
    { 
    generenb(); 
     
    echo $tab[0]; 
    echo $tab[1]; 
    } 
     
     
    function generenb() 
    { 
    $rand = mt_rand(1000,9999); 
    $nb=2; 
    $tab=array($rand,$nb); 
    return $tab; 
    } 
    ?>
    Bon, comment tu veux que le compilo fasse si tu déclares la fonction après l'avoir appelée ?
    Ou est ce que tu récupères la valeur retournée par la fonction ?

    Je te conseille vivement d'aller te renseigner dans les différentes faq du site car tu as de cruelles lacunes en programmation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
    function generenb() 
    { 
    $rand = mt_rand(1000,9999); 
    $nb=2; 
    $tab=array($rand,$nb); 
    return $tab; 
    } 
     
     
    if (isset($_POST['valider'])) 
    { 
    $tab = generenb(); 
     
    echo $tab[0]; 
    echo $tab[1]; 
    } 
     
     
    ?>

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 202
    Par défaut
    je te rassure tout de suite, la fonction était avant l'appel, je l'ai juste copier/coller apres voila tout.

    Sinon j'ai trouvé la solution et en fait il manque une ligne pour que ça marche:
    <?

    function generenb()
    {
    $rand = mt_rand(1000,9999);
    $nb=2;
    $tab=array($rand,$nb);
    return $tab;
    }

    generenb();
    $retour = generenb(); //------>si on ne met pas cette ligne, impossible de récupérer les valeurs...
    echo "$retour[0] $retour[1] ";

    ?>

    Je programme assez souvent mais dans d'autres langages, ce qui explique que je découvre certaines particularités du php... C'est étrange, cetet déclaration de retour, mais sans imposible de récupérer les valeurs.
    Enfin je suis content d'avoir trouvé la solution^^
    8)

  13. #13
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Par défaut
    là tu appelle deux fois la fonction, une fois ça suffit ^^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    generenb(); 
    $retour = generenb();

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] visibilité d'une variable dans une fonction
    Par grinder59 dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2007, 18h06
  2. [Tableaux] Retour d'une variable dans une fonction
    Par Will Fou dans le forum Langage
    Réponses: 7
    Dernier message: 02/07/2006, 18h21
  3. [Excel]Mettre une variable dans une fonction
    Par soad029 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/04/2006, 12h00
  4. Pb de variable dans une fonction :
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/10/2005, 13h54
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo