[php] global pour toutes les variable

Résolu
Bonjour,
dans un script php, je voudrais que toutes mes variables soient définies pour une fonction je m'explique :
j'ai un script :

$var1=1;
$var2=2;
$var3=3;
$var4=4;
function lalala() {
...
}

je voudrais utiliser toutes les variables de mon script dans la fonction lalala() MAIS je voudrais aussi ne pas taper :

$var1=1;
$var2=2;
$var3=3;
$var4=4;
function lalala() {
global $var1;
global $var2;
global $var3;
global $var4;
}

je vourais un truc du genre :

$var1=1;
$var2=2;
$var3=3;
$var4=4;
function lalala() {
global $TOUTES_LES_VARIABLES;
}

Merci d'avance
--

Âne aux nîmes

6 réponses

  1. Modérateur
    Salut,

    $var1=1;
    $var2=2;
    $var3=3;
    $var4=4;
    function lalala() {
        //J'utilise la var1
        echo $_GLOBALS['var1'];
        //J'utilise la var2
        $_GLOBALS['var2']++;
    } 

    Voilà.
    Je ne te conseille pas d'utiliser les variables globales. C'est mal.

    0
    1. je ne connais pas de moyen , je ne vois pas pourquoi toutes
      tu peux abréger avec des virgules global $a,$b,$c;
      0
      1. c'est vrai !! je vais essayer ca
        0
        1. ca ne marche pas, y me met ceci :

          Parse error: parse error, expecting `T_VARIABLE' or `'$'' in index3.php on line 72
          0
          1. Bonsoir,

            beaucoup plus simple et clean,, tu passes les valeurs de tes variables en arguments lors de l'appel de ta fonction:

            
            $var1=1;
            $var2=2;
            $var3=3;
            $var4=4;
            function lalala($arg1,$arg2,$arg3,$arg4) {
            //tu utilises $arg1  $arg2 etc...
            
            // puis par return tu renvoie ce que tu veux
            
            //exemple:
            $tatal=$arg1+$arg2+$arg3+$arg4;
            
            return $total;
            } 
            
            //appel de la fonction:
            
            $result=lalala($var1,$var2,$var3,$var4);
            
            //dans le cas de mon exemple $result va recevoir 10
            


            avantage, la fonction ne modifie pas les valeurs intiales des variables

            tu maitrises, alors qu'avec les globales si ton code est un peu long tu peux avoir de mauvaises surprises

            @lain
            0
          2. @Alain_42pas mal du tout, bon je crois que ca vas maintenant je sais comment faire, merci beaucoup !!!!
            0
        2. Modérateur
          Erreur de syntaxe?
          0