OVH Cloud OVH Cloud

difference entre variable

4 réponses
Avatar
Mobilator
bonjour a tous.

J'ai des elements différents dans
$GLOBALS[$name] et dans $name

Quelle est la différence entre les deux ?

Merci à tous.

4 réponses

Avatar
Olivier Miakinen

J'ai des elements différents dans
$GLOBALS[$name] et dans $name


C'est normal.

Quelle est la différence entre les deux ?


S'il existe une variable globale $machinbidule qui contient "trucchose",
et si $name contient "machinbidule", alors $GLOBALS[$name] contient
"trucchose" (tandis que $name contient "machinbidule").

Bien évidemment, "trucchose" != "machinbidule".

Merci d'aller faire un tour sur <http://fr2.php.net/manual/fr/> qui
t'expliquera tout ça bien mieux qu'on ne pourrait le faire dans un
groupe de discussions.

--
Olivier Miakinen
Non, monsieur le juge, je vous le jure : jamais je n'ai cité
Bruxelles dans ma signature.

Avatar
CrazyCat
Mobilator wrote:
J'ai des elements différents dans
$GLOBALS[$name] et dans $name
Quelle est la différence entre les deux ?


Je t'ai répondu dans ton autre post, mais je pourrais m'étendre un peu
plus ici.

Imaginons que tu définisses:
$a = 1;
$name = "a";

un affichage de $name te donnera "a" mais un affichage de
$GLOBALS[$name] donnera l'affichage de $GLOBALS["a"] qui correspond à ta
variable $a, donc à 1.

lorsque tu appelles le tableau $GLOBALS, tu appelles tes variables par
un index, donc tu n'affiche pas la valeur de l'index mais bien la
variable stockée à cet index.

--
Découvrez Original War: http://www.original-war.org
Humour: http://www.chatfou.com
Tchattez en liberté: http://www.c-p-f.net

Avatar
G Roydor
Mobilator a écrit:
bonjour a tous.

J'ai des elements différents dans
$GLOBALS[$name] et dans $name


$GLOBALS[$name] est la valeur du tableau $GLOBALS repéré par la clé $name
$name est la valeur de la clé

GR


Quelle est la différence entre les deux ?

Merci à tous.


Avatar
__marc.quinton__
Mobilator wrote:
bonjour a tous.

J'ai des elements différents dans
$GLOBALS[$name] et dans $name

Quelle est la différence entre les deux ?


l'utilisation 'normale' des variables globales
n'est pas celle ci ; cependant il n'y a pas
d'erreur dans ce code. Ce que tu fais ici est
tout simplement de l'indirection de variable.

$GLOBALS[$name] marche un peu comme $$var
(si je ne me trompes pas).

l'usage normal de blobal est

$toto = $GLOBALS['toto'];
$name = $GLOBALS['name'];

tu peux afficher le contenu du tableau avec print_r()
ou var_dump() ; ca permet d'y voir plus clair.