[php] PHP-배열 값의 키 이름 가져 오기

다음과 같은 배열이 있습니다.

function example() {
    /* some stuff here that pushes items with
        dynamically created key strings into an array */

    return array( // now lets pretend it returns the created array
        'firstStringName' => $whatEver,
        'secondStringName' => $somethingElse
    );
}

$arr = example();

// now I know that $arr contains $arr['firstStringName'];

색인을 $arr['firstStringName']통해 array_keys($arr)키 문자열 을 반복하여 반환 할 수 있도록 색인을 찾아야합니다 'firstStringName'. 어떻게해야합니까?



답변

값이 있고 키를 찾으려면 array_search()다음과 같이 사용 하십시오.

$arr = array ('first' => 'a', 'second' => 'b', );
$key = array_search ('a', $arr);

$key이제 값의 키 'a'(즉, 'first')가 포함됩니다.


답변

key($arr);

현재 배열 요소의 키 값을 반환합니다

http://uk.php.net/manual/en/function.key.php


답변

내가 올바르게 이해하면 간단하게 사용할 수 없습니다.

foreach($arr as $key=>$value)
{
  echo $key;
}

PHP 매뉴얼 참조


답변

이름이 역동적이라면

$arr[$key]

이는 $ key에 키 값이 포함되어 있음을 의미합니다.

array_keys()배열의 모든 키를 얻는 데 사용할 수 있습니다.

$arr = array('a' => 'b', 'c' => 'd')
$x = array_keys($arr);

너에게 줄거야

$x = array(0 => 'a', 1 => 'c');


답변

그렇습니다. 실제로 PHP는 그러한 지원을 제공하는 몇 안되는 언어 중 하나입니다.

foreach($arr as $key=>$value)
{

}


답변

같은 값으로 배열 요소를 반환 해야하는 경우 array_keys()함수를 사용하십시오.

$array = array('red' => 1, 'blue' => 1, 'green' => 2);
print_r(array_keys($array, 1));


답변

다른 옵션이 있습니다

$array = [1=>'one', 2=>'two', 3=>'there'];
$array = array_flip($array);
echo $array['one'];