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