2013-03-03 3 views
4

PHP에서 연관 배열이 있습니다. 나는 그것에 다이를하고있는 중이 야 때 다음과 같이 그때 적절한 값을 얻고있다 :php의 연관 배열에서 모든 키를 얻는 방법

array(1) { [0]=> array(1) { [123]=> string(5) "Hello" }} 

을하지만이 새로운 배열이 배열의 키를 추출을 시도하고 때, 나는 밖으로 열쇠를 얻을 수 아니다 :

$uniqueIds = array_keys($myAssociativeArray); 
die(var_dump($uniqueIds)); 
int(0) array(1) { [0]=> int(0) } 

내가 여기서 뭘 잘못하고 있는지 말해 줄 수 있습니까? 내 연관 배열에서 모든 키를 가져오고 싶습니다. 그리고이, 나는 스레드를 참조하고 있습니다 : php: how to get associative array key from numeric index?

답변

8
$uniqueIds = array_keys($myAssociativeArray[0]); 
+1

에있는 모든 키를 가져옵니다. 하지만 난 $ myAssociativeArray에있는 모든 요소에 대한 열쇠를 원합니다 – Arjit

+1

나는 이것이 적절한 대답이라고 생각하지 않습니다 –

1
<?php 
    function multiarray_keys($ar) { 

     foreach($ar as $k => $v) { 
      $keys[] = $k; 
      if (is_array($ar[$k])) 
       $keys = array_merge($keys, multiarray_keys($ar[$k])); 
     } 
     return $keys; 
    } 
$result = multiarray_keys($myAssociativeArray); 
var_dump($result); 
    ?> 
0

재귀 다음은 그것은 나에게 키를주고 연관 배열

function getArrayKeysFlat($array) { 
    if(!isset($keys) || !is_array($keys)) { 
     $keys = array(); 
    } 
    foreach($array as $key => $value) { 
     $keys[] = $key; 
     if(is_array($value)) { 
      $keys = array_merge($keys,getArrayKeysFlat($value)); 
     } 
    } 
    return $keys; 
} 
관련 문제