variables et valeurs

Eléphant du PHP | 171 Messages

14 janv. 2006, 19:20

Bonjour à tous,
ya til une syntaxe ou une instruction pour transformer la valeur d'une variable en une autre variable?

Mammouth du PHP | 19672 Messages

14 janv. 2006, 19:30

Tu voudrais faire quoi au juste ? :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 440 Messages

14 janv. 2006, 19:35

Hello ,

il suffit d assigner une nouvelle valeur ata variable
$variable = 1 ; // La variable vaut 1
$variable = 2 ; // La variable vaut 2 
Tout simplement !
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Eléphant du PHP | 171 Messages

14 janv. 2006, 19:37

par exemple j'ai:
$a="coucou";
est-il possible de créer une variable $coucou à partir de $a sans l'écrire explicitement?

(un peu dans le style des variables dynamiques)

Eléphant du PHP | 171 Messages

14 janv. 2006, 19:46

ce que je vais écrire n'est pas correct mais c'est pour donner une idée de ce que je cherche:
$a= "coucou";

echo $$a; // affiche $coucou

Eléphant du PHP | 171 Messages

14 janv. 2006, 19:48

Donc si je fais
echo $$a=2; //affiche $coucou=2

Eléphant du PHP | 171 Messages

14 janv. 2006, 19:50

je sais, ça fait mal aux yeux de voir ça, mais g sais pas si qqn comprend ce que je cherche...

Eléphant du PHP | 171 Messages

14 janv. 2006, 20:49

ça y est, je crois que g choqué tout le monde là.
Bon je m'exprime autrement:
j'ai un tableau qui contient 100 valeurs string.

$a= array("val1",....,"val100");
j'aimerais
transformer les éléments de $a en variables et leur affecter une valeur, de manière à obtenir par ex:
$val1= "coucou";
$val100="bonjour";

quel est le moyen le plus rapide pour y parvenir?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 janv. 2006, 22:03

avec des variables du style:
${$variable}
essaie:
$a= array("val1",....,"val100");

${$a[0]}= "coucou"; // idem à $val1="coucou";
${$a[99]}="bonjour"; // idem à $val100="bonjour";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 171 Messages

15 janv. 2006, 13:04

en fait j'ai un formulaire qui contient une centaine de champs.
d'habitude, dans la page de récupération des valeursde form, je fais ceci:
if (isset($_POST['valeur1'])) {
$valeur1 = $_POST['valeur1'];
}
....

if (isset($_POST['valeur100'])) {
$valeur100 = $_POST['valeur100'];
}
Et ensuite j'entame le traitement des données.
D'habitude je n'ai qu'une 10 zaine de valeurs mais ici, je n'ai pas envie de me taper 100 fois le code, même si c du copy/paste.
Comment s'y prendre pour aller plus vite?

Mammouth du PHP | 1311 Messages

15 janv. 2006, 13:07

for($i=0;$i<100;$i++)
{
if(!isset($_POST['valeur'.$i]))
echo $_POST['valeur'.$i].' n\'existe pas';
else
$valeur[$i]=$_POST['valeur'.$i];
} 

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

15 janv. 2006, 13:48

Donc si je fais
echo $$a=2; //affiche $coucou=2
Ça n'a rien de choquant et cette écriture est correcte.

Eléphant du PHP | 171 Messages

15 janv. 2006, 19:59

super, ça marche impec. merci à tous!