Eléphant du PHP |
369 Messages
10 nov. 2009, 15:02
Salut,
bonjour,
j'aimerais savoir s'il est possible de modifier dynamiquement le nom de la variable dans l'exemple
ci-dessous (en fait, ajouter la valeur de $i à la fin de la variable) :
for($i=0; $i<5 ; $i++){
echo $Objet->variable$i;
}
comme ça ça ne marche pas...
merci!
class Bidon
{
public $MaVariable_0 = "Zero";
public $MaVariable_1 = "Un";
public $MaVariable_2 = "Deux";
public $MaVariable_3 = "Troix";
public $MaVariable_4 = "Quatre";
public $MaVariable_5 = "Cinq";
}
$classBidon = new Bidon();
$var = "MaVariable";
$bfWork = true;
for ($i=0; $i<50 && $bfWork; $i++)
{
$newVar = $var."_".$i;
if (isset($classBidon -> $newVar))
{
echo "> ".$i." ";
echo $classBidon -> $newVar."<br>";
}
else $bfWork = false;
// Un else break; bien que possible est moins élégant je trouve...
// en même temps, c'était pas ta question: ca tombe bien ; - )
}
die("<br>That's end !!!");
Enfait, lors du parse php évalue mot à mot donc, ton éxemple se comprend ainsi:
$Objet->variable; hors, "variable" n'existant pas une erreur est soulevée.
Faut concaténner avant et ensuite, seulement, exécuter.
@+ bon code
