PHP : 숫자 인덱스에서 연관 배열 키를 얻는 방법?
만약 내가 가지고 있다면:
$array = array( 'one' =>'value', 'two' => 'value2' );
어떻게 문자열을 one
되 찾을 수 $array[1]
있습니까?
당신은하지 않습니다. 배열에 키가 없습니다 [1]
. 다음과 같이 할 수 있습니다.
키를 포함하는 새 배열을 만듭니다.
$newArray = array_keys($array); echo $newArray[0];
그러나 값이 "하나"에 있습니다
$newArray[0]
, 없습니다[1]
.
단축키는 다음과 같습니다.echo current(array_keys($array));
배열의 첫 번째 키를 가져옵니다.
reset($array); echo key($array);
"value"값에 해당하는 키를 가져옵니다.
echo array_search('value', $array);
이 모든 것은 정확히 당신이하고 싶은 일에 달려 있습니다. 사실은 [1]
어떤 방향으로 돌려도 "하나"에 해당하지 않습니다.
$array = array( 'one' =>'value', 'two' => 'value2' );
$allKeys = array_keys($array);
echo $allKeys[0];
다음을 출력합니다.
one
특히 하나의 키로 만 작업하려는 경우 모든 키에 대한 배열을 저장할 필요없이 한 줄로이 작업을 수행 할 수 있습니다.
echo array_keys($array)[$i];
또는 루프에서 필요한 경우
foreach ($array as $key => $value)
{
echo $key . ':' . $value . "\n";
}
//Result:
//one:value
//two:value2
$array = array( 'one' =>'value', 'two' => 'value2' );
$keys = array_keys($array);
echo $keys[0]; // one
echo $keys[1]; // two
다음과 같이 할 수 있습니다.
function asoccArrayValueWithNumKey(&$arr, $key) {
if (!(count($arr) > $key)) return false;
reset($array);
$aux = -1;
$found = false;
while (($auxKey = key($array)) && !$found) {
$aux++;
$found = ($aux == $key);
}
if ($found) return $array[$auxKey];
else return false;
}
$val = asoccArrayValueWithNumKey($array, 0);
$val = asoccArrayValueWithNumKey($array, 1);
etc...
Haven't tryed the code, but i'm pretty sure it will work.
Good luck!
the key function helped me and is very simple
Expanding on Ram Dane's answer, the key function is an alternative way to get the key of the current index of the array. You can create the following function,
function get_key($array, $index){
$idx=0;
while($idx!=$index && next($array)) $idx++;
if($idx==$index) return key($array);
else return '';
}
참고URL : https://stackoverflow.com/questions/4095796/php-how-to-get-associative-array-key-from-numeric-index
'code' 카테고리의 다른 글
Google Play 서비스를 버전 13으로 업데이트 한 후 오류가 발생했습니다. (0) | 2020.10.31 |
---|---|
사용자 정의 UITableViewCell에서 자동 레이아웃이 무시됩니다. (0) | 2020.10.31 |
UIScrollview가 터치 이벤트를 가져옵니다. (0) | 2020.10.31 |
사용하지 않고 C ++ 11에서 다중 스레드 안전 싱글 톤을 구현하는 방법 (0) | 2020.10.31 |
문자열에서 접두사 제거 (0) | 2020.10.31 |