[php] global pour toutes les variable

[Résolu/Fermé]
Signaler
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
-
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
-
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

6 réponses

Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 520
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.

Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
ben pourquoi ?

je ne connais pas de moyen , je ne vois pas pourquoi toutes
tu peux abréger avec des virgules global $a,$b,$c;
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
c'est vrai !! je vais essayer ca
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116
ca ne marche pas, y me met ceci :

Parse error: parse error, expecting `T_VARIABLE' or `'$'' in index3.php on line 72
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
892
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
Messages postés
567
Date d'inscription
mercredi 19 décembre 2007
Statut
Membre
Dernière intervention
1 octobre 2009
116 >
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017

pas mal du tout, bon je crois que ca vas maintenant je sais comment faire, merci beaucoup !!!!
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 520
Erreur de syntaxe?