création dynamique de variable

lmbbb
Invité n'ayant pas de compte PHPfrance

16 juin 2011, 16:29

Bonjour,

En fait tout est dit dans le sujet : est-il possible de créer dynamiquement des variables ? Apres moult tortures cérébrales je me tourne vers vous :oops:
$nom_de_la_variable = "$titi";
$valeur_de_la_variable = 5;

$$nom_de_la_variable = $valeur_de_la_variable;

echo $titi;
me retourne Notice: Undefined variable: titi

comment puis-je faire ? je vous remercie.

Petit nouveau ! | 1 Messages

16 juin 2011, 19:03

$nom_de_la_variable = "$titi";
$valeur_de_la_variable = 5;

${nom_de_la_variable} = $valeur_de_la_variable;

echo $titi;
Google est mon ami ... surtout apres la page 2

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 juin 2011, 20:04

ou alors echo $$nom_de_la_variable; ?

@+
Il en faut peu pour être heureux ......

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2011, 21:51


ViPHP
ViPHP | 4039 Messages

16 juin 2011, 22:18

Ceci dit, la variable dynamique, elle est souvent issue d'une conception défaillante.
En une dizaine d'années, j'en ais jamais eu besoin.

Pourrais-tu nous présenter le cas dans lequel tu en aurais besoin ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 19672 Messages

16 juin 2011, 23:04

Ceci dit, la variable dynamique, elle est souvent issue d'une conception défaillante.
Ça peut être vraiment très pratique, par exemple lorsqu'on construit un formulaire dynamique avec un tableau dont on ignore à l'avance le nombre de lignes. On peut donc avoir un nom de variable qui s'incrémente, pour ma part je les utilise relativement régulièrement avec une classe de gestion de formulaires maison. Exemple basique :
<?php
//..
for($i = 0; $i < $nb_inconnu; $i++)
{
    ${'champ_'. $i} = "une valeur ou l'appel d'une méthode de classe qui construit un champ...";
}
Si mon nombre inconnu vaut 3, alors j'aurai construit dynamiquement $champ_0, $champ_1 et $champ_2.

Ce n'est pas obligatoirement une mauvaise conception, mais il faut effectivement faire preuve de prudence pour ne pas perdre ses petits en cours de route.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

devlop78
Invité n'ayant pas de compte PHPfrance

17 juin 2011, 02:39

Je ne les utilise pas mais il est bon de savoir qu'elle existe. Mais la doc en parle suffisamment ...

ViPHP
xTG
ViPHP | 7331 Messages

17 juin 2011, 08:05

$nom_de_la_variable = "$titi";
Double quotes => interprétation des variables => provenance de la variable $titi ?

Cela ne serait pas plutôt ceci que tu cherches à faire :
$nom_de_la_variable = "titi";