变量名中的变量

时间:2015-02-03 17:22:09

标签: php loops for-loop

如果这个标题很难过,但我不知道如何更好地设置它。

我使用带有额外字段的cms,我创建了3个带标签的字段:box_title_1, box_title_2, box_title_3

如果想用 for 循环获取他的值,但php无法检查我需要什么,我的php代码是:

for($i=1; $i<=3; $i++) {
     echo $this->element->box_title_ . $i;
}

我从循环得到的值只有数字(1,2,3) 如果我直接称它为$this->element->box_title_1,那么我会看到价值,但我想动态它,可能吗?

3 个答案:

答案 0 :(得分:3)

@ m_73,您可以使用此表示法:

for($i=1; $i<=3; $i++) {
     echo $this->element->{"box_title_" . $i};
}

希望这有帮助。

答案 1 :(得分:0)

@Niet发布的链接有信息。

这是一个让你前进的简单例子

$type='last';
${"name_$type"}='johnson';

echo 'variable "$name_last" = '.$name_last;

这将输出

variable "$name_last" = johnson

答案 2 :(得分:-1)

也许最快的方式,也许不是最安全的方法,是使用eval

for($i=1; $i<=3; $i++) {
     echo eval("$this->element->box_title_$i;");
}