我有一个PHP for循环:
for ($counter=0,$counter<=67,$counter++){
echo $counter;
$check="some value";
}
我想要实现的是使用for循环变量并将其附加到另一个变量的名称。
基本上,我希望每行的PHP输出如下
1
$check1="some value"
2
$check2="some value"
3
$check3="some value"
4
$check4="some value"
etc etc
我怎样才能实现这一目标?我错过了一些明显的东西吗?
我尝试了$check.$counter="some value"
但这失败了。
任何建议?
一如既往,
答案 0 :(得分:51)
variable variables的正确语法是:
${"check" . $counter} = "some value";
然而,我强烈反对这一点。您尝试完成的任务最有可能通过arrays更优雅地解决。用法示例:
// 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;
}
答案 1 :(得分:5)
您应该使用$ {'varname'}语法:
for ($counter=0,$counter<=67,$counter++){
echo $counter;
${'check' . $counter} ="some value";
}
这样可行,但为什么不使用数组?
$check[$counter] = "some value";
答案 2 :(得分:5)
这在某些情况下是可用的。例如,如果您的应用在数据库中有类似2个语言条目的内容。
echo $this->{'article_title_'.$language};
这比例如这更有用;
if($language == 'mylanguage1')
echo $this->article_title_mylanguage1;
else
echo $this->article_title_mylanguage2;
显然这是您在多语言应用中不应该做的事情,但我见过这样的情况。
答案 3 :(得分:0)
数组可以实现此目的。
$check = array();
for($counter = 0; $counter <= 67; $counter++) {
$check[] = "some value";
var_dump($check[$counter]);
}