2013-03-03 65 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 2013-03-03 10:19:02

+1

我不认为这是适当的答案 – 2015-07-12 15:43:48

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; 
}