0

抱歉,如果已经问过这个问题,但是很难搜索...我尝试了谷歌搜索这个主题但没有成功。

我想做的是:

$layoutColor = 2;
$colors1 = array ("F57171", "FACCCC");
$colors2 = array ("FF9900", "FFC66F");

$chosenTheme = "colors".$layoutColor;
echo $chosenTheme [0];

我想用“colors”这个词加入$layoutColor 变量以获得变量$colors2。

我怎么做?

谢谢。

4

7 回答 7

4

你最好通过将所有选项组合成一个多维数组来解决这个问题:

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

$chosenTheme = $colors[$layoutColor];
echo $chosenTheme [0];
于 2013-05-27T20:18:09.323 回答
2

尝试这个:

<?php
$layoutColor = 2;
$colors1 = array ("F57171", "FACCCC");
$colors2 = array ("FF9900", "FFC66F");

$chosenTheme = "colors".$layoutColor;
echo ${$chosenTheme}[0];

印刷:

FF9900

于 2013-05-27T20:19:18.273 回答
1

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

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

所以...

echo $colors[0];

或者您可以使用用户变量变量:

$chosenTheme = ${"colors".$layoutColor};
于 2013-05-27T20:18:19.317 回答
1

你可以试试这个

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

所以你会得到$colors2变量

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

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

于 2013-05-27T20:18:23.413 回答
1

尝试:

$layoutColor = 2;

$string = "color";

echo $$string.$layoutColor;
于 2013-05-27T20:18:30.473 回答
0

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

然后使用此变量访问数组 $chosenTheme

于 2013-05-27T20:21:17.037 回答
0

这可能不是您问题的答案,但根据您的具体情况,请尝试以下操作:

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

echo $colors[$layoutColor][0];

多维数组更容易阅读

于 2013-05-27T20:24:22.500 回答