2013-09-27 10 views
-2

나는이 배열을 가지고 있습니다. 하나의 배열에는 색상의 이름이 있습니다. 다른 하나는 16 진수 값을 유지합니다.배열의 값을 사용하여 다른 배열의 값 얻기

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

나는이 출력 #ffffff ....

$hexColors[$availableColors'white']; 

을하고자하지만 그건 나를 위해 작동하지 않는 것 바라고 있어요.

+0

'$ hexColors [$ availableColors [0]] '는 의미가 있습니다. '$ availableColors'white''는 그렇지 않습니다. – deceze

+1

간단히 말해서 :'echo '#'. $ hexColors [ 'white'];'# ffffff'를 출력 할 것입니다. – Christoph

+0

거기에 2 개의 별도 어레이를 사용할 필요가 있습니까? – tommyd456

답변

0

텍스트 키로 비 연관 배열에 액세스하고 있습니다. 이 작업을 수행해야합니다.

echo $hexColors[$availableColors[0]]; 
+0

0 번 색인에 있습니다. –

+0

@MShahzadKhan 예, 그것은 오타입니다. – Alex

1

먼저 구문이 올바르지 않습니다.

$hexColors[$availableColors[0]] 
1

당신은 필요하지 않습니다 : 다음, $availableColors 배열은 다음과 같이 정의된다 : 따라서 당신이 그것을 밖으로 흰색을 얻으려면

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

, 당신은 0의 요소를 참조 할 필요가 $availableColors, 당신은 출력합니다 #ffffff 직접

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

을 할 수 있습니다.

색상이 허용되는지 여부를 확인하려면 $availableColors이 필요하면.

$color = 'white'; 
if(in_array($color, $availableColors) { 
    echo "#".$hexColors[$color]; 
} else { 
    die('Color not allowed'); 
} 
+0

그는'if (isset ($ hexColors [$ color]))'를 할 수있었습니다. – Christoph

+0

맞습니다, 그는 할 수 있습니다. –