J'ai un PHP pour la boucle:
for ($counter=0,$counter<=67,$counter++){
echo $counter;
$check="some value";
}
Ce que j'essaie de réaliser, c'est d'utiliser la variable de boucle for et de l'ajouter au nom d'une autre variable.
Fondamentalement, je veux que la sortie PHP soit la suivante pour chaque ligne
1
$check1="some value"
2
$check2="some value"
3
$check3="some value"
4
$check4="some value"
etc etc
J'ai essayé $check.$counter="some value"
mais cela échoue.
Comment puis-je atteindre cet objectif? Suis-je en train de manquer quelque chose d'évident?
La syntaxe appropriée pour variables variables est:
${"check" . $counter} = "some value";
Cependant, je décourage fortement cela. Ce que vous essayez d'accomplir peut très probablement être résolu plus élégamment en utilisant tableaux . Exemple d'utilisation:
// Setting values
$check = array();
for ($counter = 0; $counter <= 67; $counter++){
echo $counter;
$check[] = "some value";
}
// Iterating through the values
foreach($check as $value) {
echo $value;
}
Ceci est utilisable dans certains cas. Par exemple, si votre application a quelque chose comme 2 entrées de langue dans DB.
echo $this->{'article_title_'.$language};
C'est beaucoup plus utilisable que par exemple ceci;
if($language == 'mylanguage1')
echo $this->article_title_mylanguage1;
else
echo $this->article_title_mylanguage2;
Évidemment, c'est ce que vous ne devriez pas avoir à faire dans votre application multilingue, mais j'ai vu des cas comme celui-ci.
Vous devez utiliser la syntaxe $ {'varname'}:
for ($counter=0,$counter<=67,$counter++){
echo $counter;
${'check' . $counter} ="some value";
}
cela fonctionnera, mais pourquoi ne pas simplement utiliser un tableau?
$check[$counter] = "some value";
Un tableau accomplirait cela.
$check = array();
for($counter = 0; $counter <= 67; $counter++) {
$check[] = "some value";
var_dump($check[$counter]);
}