Page 1 sur 1

combiner une variable dans le nom d'une autre

Publié : 19 juin 2006, 00:34
par macgil
bonsoir
j'ai essayé de faire des variables partiellements dynamiques, seulement, le résultat ne donne pas...

exemple simple

$question='1';
$réponse$question='vrai';

je voudrais que cela ait defini une variable $réponse1='vrai'

merci de me dépanner

macgil

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.4) Gecko/20060508 Firefox/1.5.0.4

Publié : 19 juin 2006, 11:33
par calimo
Peut-être avec un eval ?
http://ch2.php.net/eval

(Pas sûr du tout, mais possible).

Edit : en fait, ce qu'il te faut, c'est un tableau !
$reponse[$question] = 'vrai' :wink:
http://ch2.php.net/manual/fr/ref.array.php

Publié : 19 juin 2006, 12:37
par macgil
merci, intéressant le eval. quand au tableau, ca ne répond pas du tout a mon problème.
j'ai trouvé une pseudo solution mais il me faut la peaufinner. voici un exemple certainement plus clair:

Code : Tout sélectionner

$numero='1';
$question1='ceci est la question 1';
Print ("${reponse.$numero}");
affiche bien "ceci est la question 1"

donc en cela mon souci est résolu.
par contre:

Code : Tout sélectionner

$num='1';
${q.$num}="ceci est la question 1";
print ("$q1";)
affiche bien lui aussi "ceci est la question 1"
mais en le précédant de ceci (j'ai enlevé les détails inutiles):

Notice: Use of undefined constant q - assumed 'q' in c:\easyphp1-8\www\
test.php on line xx

j'ai feinté cela ainsi, mais ce n'est pas la joie, si quelqu'un a mieux à proposer, je suis preneur:

Code : Tout sélectionner

$q='q';
$num='1';
${$q.$num}="ceci est la question 1";
print ("$q1";)
d'avance merci du coup de main, meme si ma solution intermédiaire fonctionne...

Publié : 19 juin 2006, 15:17
par calimo
macgil a écrit :quand au tableau, ca ne répond pas du tout a mon problème.
Ah bon ?

Code : Tout sélectionner

$reponses = array (1 => "Reponse 1", 2 => "Seconde réponse");

$numero='1';
$question = array ($numero=>'ceci est la question $numero');
Print "$reponses[$numero]";
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firegecko Firefox/1.5.0.4

Publié : 19 juin 2006, 17:19
par macgil
en effet fait comme cela ca peut le faire...
mais en théorie je dois stocker les réponses dans des variables séparées pour d'autres raisons dont je me passerai bien...

en fait, je recherche la solution tout de meme car je sais qu'elle existe mais imposible de m'en rappeler...

un grand merci pour le cours sur les tableaux

Publié : 19 juin 2006, 18:12
par calimo
macgil a écrit :mais en théorie je dois stocker les réponses dans des variables séparées pour d'autres raisons dont je me passerai bien...
Je ne vois pas trop de raisons qui t'obligeraient à ça... mais en quelque sortes, les tableaux associatifs sont des variables séparées si l'on peut dire ainsi :wink:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.4) Gecko/20060508 Firegecko Firefox/1.5.0.4