8791 sujets

Développement web côté serveur, CMS

Bonjour,

J'avoue que le titre est bizare, je vous explique.

Je souhaiterai inserer une variable dans une autre variable... Bon toujours aussi compliqué, allez, un exemple :

J'ai une variable "$_SESSION['typemodif']"

Je souhaiterai l'inserer au bout d'une autre variable "$liste_".

Ca donnerai par exemple, si "$_SESSION['typemodif']" vaut "parents" :

$liste_ + $_SESSION['typemodif'] => $liste_parents

Mais pour cela "$liste_ . $_SESSION['typemodif']" ne fonctionne pas.

Comment pourrais-je faire pour réaliser ce que je souhaite ?

Merci,
Killaman
Modifié par Killaman (13 Jun 2007 - 12:31)
Administrateur
Bonjour,

concaténer c'est accoler 2 valeurs, ce n'est pas la même chose qu'insérer Smiley cligne

La page de la doc PHP qui parle de ce que tu veux faire est: http://fr2.php.net/manual/fr/language.variables.variable.php

Ca donne qqch comme $liste$machin (tu peux t'inspirer de http://fr2.php.net/manual/fr/language.variables.variable.php#50912ce commentaire Smiley url ). Si c'est un tableau, il faut indiquer à qui appartient l'indice (liste ou machin?) avec une paire d'accolades {}.

Et le meilleur pour la fin:
a écrit :
AVERTISSEMENT
Notez que les variables dynamiques ne peuvent pas être utilisées avec les tableaux Superglobaux de PHP.

Il te faudra donc passer par $machin = $_SESSION['truc'] et n'utiliser que $machin Smiley smile
Et si je fais $machin = $_SESSION['truc']

Ca fonctionnerai : $liste_$machin ?

Merci pour ta réponse rapide

Killaman
salut

imaginons on veut affecter une valeur a une variable dont le nom est variable Smiley eek

Possible en php

pour ce faire il faut utiliser ${}

exemple:

on a
$_SESSION['typemodif']='parents';
on veut
$liste_parents

la variable serait

${"liste_".$_SESSION['typemodif']}

soit l'équivalent de $liste_parents
tu peux concatenner plusieurs variable bien sure
${$liste_.$_SESSION['typemodif']}
auquel cas si $liste_=var
tu aurais $var_parents

A l'utilisation
${"liste_".$_SESSION['typemodif']}=10;

c'est comme

$liste_parents=10;



voila
Modifié par alexiase (14 Jun 2007 - 17:33)