2013-07-23 6 views
0

양식 드롭 다운 옵션을 표시하는 데 사용할 배열이 있습니다. 지정된 배열 요소의 키를 표시 할 수 싶습니다.배열에서 특정 값의 키를 반환하려면 어떻게해야합니까?

$options = array(
        '10' => '10 Results', 
        '15' => '15 Results', 
        '20' => '20 Results', 
        '25' => '25 Results', 
        '30' => '30 Results' 
       ); 

내가

$selected = '25'; 
echo $options[$selected] 

이 과정의 반환 "25 개"를 사용하는 경우. 그 요소의 열쇠를 어떻게 돌려 줄까요?

key($options) 

위의 코드는 배열의 첫 번째 요소의 키를 반환합니다.

이 경우
+2

PHP의 array_search 함수가이를 처리합니다. –

+10

'$ selected' 키가 아닌가요? – hjpotter92

+0

@Anthony가 맞습니다. 또는 foreach를 사용하여 루프를 반복 할 수 있습니다. key()는 배열의 현재 색인에 대한 키를 반환합니다. – chandlermania

답변

4

음, 그것은 ... 꽤 쉽게 하나

array_search에 대한 대안은 foreach 루프를 사용하는 것입니다
echo $selected; 
+0

+ Smartass,하지만 사실 :) –

0

쉬운 방법 중 하나 array_flip 사용하는 것입니다

$options = array(
        '10' => '10 Results', 
        '15' => '15 Results', 
        '20' => '20 Results', 
        '25' => '25 Results', 
        '30' => '30 Results' 
       ); 
$reverseoptions = array_flip($options); 

은 그럼 그냥 $reverseoptions['30 Results']; //returns 30;

제한이 존재하지. 간단한 배열로만이 작업을 수행 할 수 있습니다. 재귀 적으로 코드를 작성하지 않고는 재귀 적으로 수행 할 수 없습니다. 또한 값이 같으면 나중에 첫 번째 값이 바뀝니다.

$test = array('1'=>'apple', '2'=>'pear','3'=>'apple'); 
$testflip = array_flip($test); 
print_r($testflip); 

// 출력 배열 ([사과] => 3 배] => 2)

나는이 종종 읽을 수있는 문자열로 데이터베이스 표현을 변환하는 작업을 수행. 당신이 키를 정의하고 있기 때문에

0

! 이것은 이 아니고이 무엇인지 미리 알고있는 경우를위한 것입니다.

foreach ($arr as $key => $value) { 
    echo "Key: $key; Value: $value<br />\n"; 
} 

배열의 키에 액세스하여 원하는대로 할 수 있습니다. 언급 한대로 데이터베이스 변환을 수행하면 편리합니다.

관련 문제