连接字符串和变量以获得PHP中的另一个变量


Join string and variable to get another variable in PHP

抱歉,如果这个问题已经被问到,但是很难搜索到它…我试着用谷歌搜索这个话题,但是没有成功。

我想做的是:

$layoutColor = 2;
$colors1 = array ("F57171", "FACCCC");
$colors2 = array ("FF9900", "FFC66F");
$chosenTheme = "colors".$layoutColor;
echo $chosenTheme [0];

我想将$layoutColor变量与单词"colors"连接起来,以获得变量$colors2。

我该怎么做?

谢谢。

您最好将所有选项组合成一个多维数组:

$layoutColor = 2;
$colors = array();
$colors[1] = array ("F57171", "FACCCC");
$colors[2] = array ("FF9900", "FFC66F");
$chosenTheme = $colors[$layoutColor];
echo $chosenTheme [0];

试试这个:

<?php
$layoutColor = 2;
$colors1 = array ("F57171", "FACCCC");
$colors2 = array ("FF9900", "FFC66F");
$chosenTheme = "colors".$layoutColor;
echo ${$chosenTheme}[0];

打印:

FF9900

我认为你可以使用多维数组来简化它:

$colors = array(
    array ("F57171", "FACCCC"),
    array ("FF9900", "FFC66F")
);

所以…

echo $colors[0];

或者你可以使用变量变量:

$chosenTheme = ${"colors".$layoutColor};

你可以试试这个

$layoutColor = 2;
$$colors2 = "colors".$layoutColor;

得到$colors2变量

print_r($colors2); // Array ( [0] => FF9900 [1] => FFC66F )

注意双$,它将在变量中保留变量名

Try with:

$layoutColor = 2;
$string = "color";
echo $$string.$layoutColor;

您需要使用动态变量$$chosenTheme = "colors".$layoutColor;

则使用该变量访问数组$chosenTheme

这可能不是你问题的答案,但是,根据你的具体情况,尝试这样做:

$layoutColor = 2;
$colors = array (
               Array("F57171", "FACCCC"),
               Array ("FF9900", "FFC66F")
           );
echo $colors[$layoutColor][0];

多维数组更容易阅读