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 :

utilisation d'une variable dans une fonction


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 11
    Points : 11
    Points
    11
    Par défaut utilisation d'une variable dans une fonction
    bonjour,
    J'essaye d'utiliser une variable déclaré en dehors d'une fonction dans une fonction. En fait une variable globale
    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
     
    <?php
     
    $index = 1;
     
    // start_element_handler ( resource parser, string name, array attribs )
    function startElement()
    {
       echo "test d'index";
     
       if ($index == 1) {
          echo "test réussi";
       }
    }
     
    startElement();
    Pourquoi j'ai une erreur ???

  2. #2
    Expert éminent sénior

    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
    Points : 17 778
    Points
    17 778
    Par défaut
    Dans ce cas il faut utiliser le mot clé global pour indiquer à la fonction lesquelles seront globales (on peut aussi utiliser le tableau $GLOBALS). Exemple sans intérêt pour illustrer (les variables $a et $b deviennent globales) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    function imprimer_somme() {
        global $a, $b;
     
        echo $a + $b;
    }
     
    $a = 2;
    $b = 3;
    imprimer_somme($a, $b);
    ?>

    Julp.

  3. #3
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    ou tu peux simplement lui passer $index en paramètre

    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
    <?php
     
    $index = 1;
     
    // start_element_handler ( resource parser, string name, array attribs )
    function startElement($argIndex)
    {
       echo "test d'index";
     
       if ($argIndex == 1) {
          echo "test réussi";
       }
    }
     
    startElement($index);
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  4. #4
    Invité
    Invité(e)
    Par défaut
    Perso la deuxième solution est plus sûre que d'utiliser des variables globales!

Discussions similaires

  1. Utiliser une valeur d'une variable dans une Macro
    Par ca_adrien dans le forum Macro
    Réponses: 7
    Dernier message: 01/08/2013, 14h14
  2. utilisation d'une variable d'une class dans une autre class
    Par the watcher dans le forum Langage
    Réponses: 7
    Dernier message: 31/08/2010, 14h01
  3. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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