[PHP] Création des nom des variables
Résolu
Didier
-
Didier -
Didier -
Bonjour à tous,
Dans l'initialisation de mon script PHP je désirerais utiliser la valeur d'une rubrique de la base de donnée comme nom réel de varaible et lui affecter une valeur, comment faire ?
Voici l'exemple :
Base : DB
Dans DB j'ai deux rubriques : NOM et VALEUR
Dans NOM et VALEUR, j'ai par exemple pour un enregistrement :
NOM = config_site
VALEUR = ma_config
J'aimerais donc, en balayant la DB, prendre les valeurs NOM et définir une variable à partir de la valeur du nom, puis lui attribuer la valeur "VALEUR" qui lui correspond, comme si je le faisais manuellement.
Dans cet exemple, j'aimerais en finalité avoir l'équivalent à :
$config_site = "ma_config";
Merci de voter aide
Amicalement
Dans l'initialisation de mon script PHP je désirerais utiliser la valeur d'une rubrique de la base de donnée comme nom réel de varaible et lui affecter une valeur, comment faire ?
Voici l'exemple :
Base : DB
Dans DB j'ai deux rubriques : NOM et VALEUR
Dans NOM et VALEUR, j'ai par exemple pour un enregistrement :
NOM = config_site
VALEUR = ma_config
J'aimerais donc, en balayant la DB, prendre les valeurs NOM et définir une variable à partir de la valeur du nom, puis lui attribuer la valeur "VALEUR" qui lui correspond, comme si je le faisais manuellement.
Dans cet exemple, j'aimerais en finalité avoir l'équivalent à :
$config_site = "ma_config";
Merci de voter aide
Amicalement
1 réponse
-
Bonjour,
Voilà comment résoudre ton problème :$NOM = 'unNomDeVariable'; $VALEUR = 'uneValeur'; ${$NOM} = $VALEUR;Ainsi, lorsque tu appeleras $unNomDeVariable, tu récupèreras la chaîne 'uneValeur'.
Au lieu de ${$NOM}, tu peux aussi supprimer les {} et mettre directement $$NOM. Les accolades permettent quand-même d'y voir plus clair, et sont pratiques si tu veux avoir des noms de variable plus élaborés, du genre ${$nom1}_{$nom2}.
Xavier
edit : ah ben non, je viens de tester, on dirait que j'ai dit des bêtises : les noms plus compliqués ne sont pas possibles... Par contre, la solution à ton problème fonctionne bel-et-bien.