PHP变量变量名

时间:2016-03-08 22:33:58

标签: php arrays variables

我需要使用动态变量名来创建文章模板:

 $templatesAr = array("intro","paragraphs","image","conclusion","h2");
 $intro = "Intro";
 $paragraphs = "Paragraphs";
 $image = "image.png";
 $conclusion = "Conclusion";
 $h2 = "Heading";

$articletemplateAr = array("h2", "intro", "image",
    "h2", "paragraphs", "h2", "conclusion");`

如何从$ articletemplateAr:

按顺序回显$ article
$article = $h2 . $intro . $image . $h2 . $paragraphs . $h2 . $conclusion;

2 个答案:

答案 0 :(得分:1)

使用此代码:

$article = '';
foreach($articletemplateAr as $item) {
    $article .= $$item;
}

答案 1 :(得分:1)

记录PHP变量变量here。您可以使用${$articletemplateAr[$i]}来访问名称在数组元素中的变量。

但是,几乎在您发现自己想要变量变量的任何时候,更好的方法是使用关联数组。

$values = array(
    'intro' => "Intro",
    'paragraphs' => "Paragraphs",
    'image' => "image.png",
    'conclusion' => "Conclusion",
    'h2' => "Heading"
);

然后您可以使用$values[$articletemplateAr[$i]]

这更好的原因是因为你不能无意中访问非预期的变量,你只能使用数组中的元素。如果$articletemplateAr的元素来自外部来源,这一点尤其重要。