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 :

Récupérer variable d'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
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut Récupérer variable d'une fonction
    Bonjour,
    J'utilise une variable me permettant de stocker un url dans une fonction.
    Et j'aimerais utiliser cette variable dans une autre fonction de la même page php mais je ne sais pas comment faire. Lorsque je fais un echo de ma variable dans la 2eme fonction, elle ne renvoi rien. Comment peut on faire ? la stocker dans un formulaire et la récupérer avec POST ?

  2. #2
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    tu peux la définir comme global dans chaque fonction, mais ce n'est
    pas forcemment ce qu'il y a de plus propre à faire. sinon tu peux faire
    une classe avec tes deux fonction et ta variable pourrait être une variable
    membre de la class.

    Si tu as un bout de code je peux te faire d'autres suggestions.

  3. #3
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    salut,
    utilises une variable globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $GLOBALS['a']=$a;
    ?>
    dans ce cas tu pourras l'utiliser partout !

  4. #4
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Et les valeurs de retour, elles servent à cela pourtant. Surtout si on a qu'une seule valeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $url = mafonction();
    mafonction2($url);
    Essayer d'éviter au maximum les variables globales pour trimbaler vos variables entre des fonctions. Les paramètres sont fait pour cela.

  5. #5
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Citation Envoyé par FCYPBA
    Essayer d'éviter au maximum les variables globales pour trimbaler vos variables entre des fonctions. Les paramètres sont fait pour cela.
    ok,

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut
    Merci pour vos réponses mais je n'ai pas compris le principe des valeurs de retour ?
    Il faut que je crée une fonction avec ma variable dedans et je l'appelle ensuite lorsque j'ai besoin de la variable ? est-ce cela ?

    Merci d'avance à vous

  7. #7
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    dans ta première fonction mafonction() tu retourneras la valeur de l'url
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function mafonction(){
    ...
    return $valeur_final;
    }
    tu recupères ensuite cette valeur comme décrit précedement
    Citation Envoyé par FCYPBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $url = mafonction();
    mafonction2($url);

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par thes32
    utilises une variable globale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    $GLOBALS['a']=$a;
    ?>
    dans ce cas tu pourras l'utiliser partout !
    Il y a sans doute erreur ou confusion car $a et $GLOBALS['a'] désignent dans cet exemple une seule et même chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $a = 'variable $a';
    var_dump($a);
    var_dump($GLOBALS['a']);
    string(11) "variable $a"
    string(11) "variable $a"
    En revanche, dans une fonction, là, oui, $GLOBALS prendrait tout son sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function carre($a) {
        $GLOBALS['a'] = pow($a, 2);
    }
     
    $a = 3;
    carre($a);
    var_dump($a); // 9
    A noter que cette question est traitée dans la documentation : portée des variables

Discussions similaires

  1. Récupérer variable d'une fonction dans une fonction
    Par ForceFlo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2013, 22h47
  2. Réponses: 4
    Dernier message: 29/06/2008, 14h36
  3. [MySQL] Récupérer une variable d'une fonction et enregistrement dans une base de données
    Par Mikke dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 03/03/2008, 17h02
  4. Réponses: 3
    Dernier message: 28/09/2007, 16h58
  5. Réponses: 4
    Dernier message: 09/08/2006, 15h14

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