我有這兩個數組。一個數組包含顏色的名稱。另一個保存它們的十六進制值。使用數組中的值從另一個數組中獲取值
$availableColors = array("white","black");
$hexColors = array("white"=>"ffffff","black"=>"000000");
我希望這將輸出#ffffff
....
$hexColors[$availableColors'white'];
但是,這似乎並沒有爲我工作。
我有這兩個數組。一個數組包含顏色的名稱。另一個保存它們的十六進制值。使用數組中的值從另一個數組中獲取值
$availableColors = array("white","black");
$hexColors = array("white"=>"ffffff","black"=>"000000");
我希望這將輸出#ffffff
....
$hexColors[$availableColors'white'];
但是,這似乎並沒有爲我工作。
您正在通過文本鍵訪問非關聯數組;你應該這樣做
echo $hexColors[$availableColors[0]];
它對0索引。 –
@MShahzadKhan是的,這是一個錯字,謝謝 – Alex
首先,你的語法不正確。接下來,你$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');
}
他可以做'if(isset($ hexColors [$ color]))''。 – Christoph
這是正確的,他可以。 –
'$ hexColors [$ availableColors [0]]'會有意義。 '$ availableColors'white''沒有。 – deceze
簡而言之:'echo'#'。$ hexColors ['white'];'會輸出'#ffffff' – Christoph
是否需要爲此使用2個獨立數組? – tommyd456