Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Comment accéder à une variable globale depuis une fonction?
auteur : Eric Berger
Si l'on essaie d'accéder à une variabe globale depuis l'intérieur d'une fonction, on accédera en fait à la variable locale (interne à la fonction) du même nom, qui n'affichera rien si elle n'a pas été définie.

Pour rendre une variable globale accessible depuis une fonction, il faut expressément le spécifier à l'aide de l'instruction global suivie des noms des variables qui doivent être accessibles (séparés par des virgules).

Exemple :
<?
$nom = "Pierre";//Variable globale
function afficheNom(){
    echo $nom; //Cette ligne n'affiche rien à l'écran
    global $nom; //rend la variable globale $nom accessible
    echo $nom; //Affiche Pierre
}
?>

Comment créer une variable globale?
auteur : Eric Berger
Pour créer une variable globale, il suffit de la définir depuis la racine du script PHP, c'est à dire pas dans une fonction ou dans une classe.

Exemple :
<?
$var = "valeur"; //Cette variable est globale
function maFonction(){
    $var2 = "valeur2"; //Cette variable n'est pas globale
}
?>

Comment stocker la valeur d'une variable locale dans une variable globale?
auteur : Eric Berger
Une variable définie dans une fonction doit parfois être accessible depuis l'ensemble du script. Pour ce faire, il existe deux possibilités:

Dans la fonction
En amenant la variable globale dans la fonction:
function majGlobale(){
    $varLoc = "Toto";
    global $varGlob; //La globale devient accessible dans la fonction
    $varGlob = $varLoc; //La valeur de la locale est donnée à la globale
}

echo $varGlob; //Affiche Toto
Avec Return
Si seule une variable doit être transmise, il est possible de la transmettre en fin de fonction à l'aide de l'instruction Return.

Exemple :
function majGlobale(){
    $varLoc = "Toto";
    ...
    return $varLoc;
    //Le contenu de la variable $varLoc est renvoyé où la fonction a été appelée
}

$varGlob = majGlobale(); // La valeur retournée par la fonction majGlobale() est sauvée dans la variable globale $varGlob

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com