OVH Cloud OVH Cloud

variable de variable

6 réponses
Avatar
Dindus
hello

j'aimerais savoir s'il y a une possibilité de recuperer la valeur de la
variable dont le nom est dans une autre variable.

en gros je fais plusieurs define genre
define("TOTO", "Super toto')

j'ai une variable $variable qui contient la valeur TOTO
comment puis je faire pour recuperer "Super toto" à partir de $variable ???

Merci d'avance

Dindus

6 réponses

Avatar
Paul Delannoy
Dindus a écrit:
hello

j'aimerais savoir s'il y a une possibilité de recuperer la valeur de la
variable dont le nom est dans une autre variable.

en gros je fais plusieurs define genre
define("TOTO", "Super toto')

j'ai une variable $variable qui contient la valeur TOTO
comment puis je faire pour recuperer "Super toto" à partir de $variable ???


echo ${$TOTO}; devrait le faire.

Avatar
roms
"Dindus" a écrit dans le message de
news:4108cb13$0$31410$

comment puis je faire pour recuperer "Super toto" à partir de $variable
???



Voilà une solution :

<?php

define("TOTO", "Super toto");

$variable = "TOTO";

if(defined($variable)){

//on crée un tableau avec toutes les constantes définies

$tableau = get_defined_constants();

//on recupere la constante en question : $tableau[$variable]

print_r($tableau[$variable]);

}else{

echo "cette constante n existe pas";

}

?>

Maintenant peut etre qu'il y a plus simple ;)

--

roms

Avatar
Savut
"Dindus" wrote in message
news:4108cb13$0$31410$
hello

j'aimerais savoir s'il y a une possibilité de recuperer la valeur de la
variable dont le nom est dans une autre variable.

en gros je fais plusieurs define genre
define("TOTO", "Super toto')

j'ai une variable $variable qui contient la valeur TOTO
comment puis je faire pour recuperer "Super toto" à partir de $variable
???

Merci d'avance

Dindus


LOL you could guess it, the answer is ...
constant($variable);

Savut
http://www.savut.com

Avatar
Frederic BISSON
j'aimerais savoir s'il y a une possibilité de recuperer la valeur de la
variable dont le nom est dans une autre variable.
$truc='Hello';

$variable='truc';
echo ${$variable}; ==> affiche Hello

en gros je fais plusieurs define genre
define("TOTO", "Super toto')
Là, tu demandes à récupérer la valeur d'une constante dont le nom est

dans une variable, ce n'est pas la même chose ! C'est plus délicat :
define(TRUC,'Hello');
$variable='TRUC';
echo eval('return '.$variable.';'); ==> affiche Hello

Comme tu as pu le constater, c'est possible, mais ce n'est pas un
style de programmation que je recommanderai. La lecture d'un tel code
n'est pas aisée et tu ne maîtrises pas toujours les conséquences et
effets de bords de ce type d'instruction (eval) ce qui peut entraîner des
trous de sécurité potentiels.

@+

Frédéric

Avatar
FAb
Dindus writes:

hello

j'aimerais savoir s'il y a une possibilité de recuperer la valeur de la
variable dont le nom est dans une autre variable.

en gros je fais plusieurs define genre
define("TOTO", "Super toto')


ça pas variable, ça constante !

$TOTO = 'titi';
$titi = 'ok';

echo "mon test est ${$TOTO}"; ??

j'ai une variable $variable qui contient la valeur TOTO
comment puis je faire pour recuperer "Super toto" à partir de $variable ???

Merci d'avance

Dindus


Avatar
Frederic BISSON
define("TOTO", "Super toto')
echo ${$TOTO}; devrait le faire.

Non, ça ne marche pas avec les constantes


@+

Frédéric