是否可以从另一个变量生成变量名称

时间:2015-02-13 13:36:41

标签: php

我试图让我的页面保持纯模板,所以我永远不必更改标记页面。布局在模板中,文本在另一个文件中。想要使构建标记变得简单,所以希望可以做到这样的事情:

在第1页上持有文字:

$varaudio = "audio text about stuff";
第2页的

调用变量:

$var1="audio"

$var+var1

4 个答案:

答案 0 :(得分:0)

非常难看的解决方案

$var = "test";
$test = "1231";
echo $$var; // prints 1231

答案 1 :(得分:0)

您正在寻找变量变量 http://php.net/manual/en/language.variables.variable.php

$varaudio = "audio text about stuff";

$var1="audio";
echo ${'var'.$var1}

// audio text about stuff

我会尝试为此问题找到一些其他解决方案而不是上述问题。它只是有点混乱/ hacky。

答案 2 :(得分:0)

假设$var1 = "audio"; amd $varaudio = "audio text about stuff";,此代码将打印"有关内容的音频文字" :

$varname = "var" . $var1;
echo $$varname;

请注意双$$

答案 3 :(得分:0)

试试这个:

<?php
$varaudio = "audio text about stuff";

// make an array consist of above words
$var_array = explode(' ', $varaudio);

// for each word in $var_array make "$var_{counter}" variable that contains
// that word
for ($i=1; $i <= count($varaudio); $i++) { 
    // make variable name
    $var_name = 'var_'.$i;

    // make variable with above name
    $$var_name = $var_array[$i-1];

    // here $var_1 will be equal to audio
}

我希望这会有所帮助。