我有这两个数组。一个数组包含颜色的名称。另一个保持其十六进制值。
$availableColors = array("white","black");
$hexColors = array("white"=>"ffffff","black"=>"000000");
我希望这会输出#ffffff
....
$hexColors[$availableColors'white'];
但这似乎对我不起作用。
答案 0 :(得分:1)
首先,您的语法不正确。接下来,您的$availableColors
数组定义为:
[
[0] => "white",
[1] => "black"
]
因此,如果你想从中获取 white ,你需要引用0的元素:
$hexColors[$availableColors[0]]
答案 1 :(得分:1)
您不需要$availableColors
,您可以直接
echo "#".$hexColors['white'];
将输出#ffffff
。
如果您需要$availableColors
来检查颜色是否允许/可用。
$color = 'white';
if(in_array($color, $availableColors) {
echo "#".$hexColors[$color];
} else {
die('Color not allowed');
}
答案 2 :(得分:0)
您正在通过文本键访问非关联数组;你应该这样做
echo $hexColors[$availableColors[0]];