-2

我有这两个数组。一个数组保存颜色的名称。另一个保存它们的十六进制值。

$availableColors = array("white","black");
$hexColors = array("white"=>"ffffff","black"=>"000000");

我希望这会输出#ffffff....

$hexColors[$availableColors'white'];

但这似乎对我不起作用。

4

3 回答 3

1

首先,您的语法不正确。接下来,您的$availableColors数组定义为:

[
    [0] => "white",
    [1] => "black"
]

因此,如果您想从中获得白色,则需要引用 0 的元素:

$hexColors[$availableColors[0]]
于 2013-09-27T12:53:07.423 回答
1

你不需要$availableColors,你可以直接做

echo "#".$hexColors['white'];

哪个会输出#ffffff

如果您需要$availableColors检查颜色是否允许/可用。

$color = 'white';
if(in_array($color, $availableColors) {
    echo "#".$hexColors[$color];
} else {
    die('Color not allowed');
}
于 2013-09-27T12:53:30.353 回答
0

您正在通过文本键访问非关联数组;你应该做这个

echo $hexColors[$availableColors[0]];
于 2013-09-27T12:52:21.853 回答