-2

私はこれらの2つの配列を持っています。1 つの配列は、色の名前を保持します。もう 1 つは 16 進値を保持します。

$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 に答える