[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
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
-
ModérateurSalut,
$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.
-
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; -
c'est vrai !! je vais essayer ca
-
ca ne marche pas, y me met ceci :
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in index3.php on line 72-
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 -
@Alain_42pas mal du tout, bon je crois que ca vas maintenant je sais comment faire, merci beaucoup !!!!
-
-
ModérateurErreur de syntaxe?