[php] global pour toutes les variable

Résolu/Fermé
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 - 26 oct. 2008 à 15:06
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 - 27 oct. 2008 à 15:43
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

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 oct. 2008 à 16:40
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
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
26 oct. 2008 à 18:04
ben pourquoi ?
0
Utilisateur anonyme
26 oct. 2008 à 18:09
je ne connais pas de moyen , je ne vois pas pourquoi toutes
tu peux abréger avec des virgules global $a,$b,$c;
0
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
26 oct. 2008 à 18:11
c'est vrai !! je vais essayer ca
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116
26 oct. 2008 à 18:14
ca ne marche pas, y me met ceci :

Parse error: parse error, expecting `T_VARIABLE' or `'$'' in index3.php on line 72
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 oct. 2008 à 22:31
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
Lefouerrant Messages postés 567 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 1 octobre 2009 116 > Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017
27 oct. 2008 à 15:43
pas mal du tout, bon je crois que ca vas maintenant je sais comment faire, merci beaucoup !!!!
0
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
26 oct. 2008 à 18:17
Erreur de syntaxe?
0