我在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?
答案 0 :(得分:11)
$uniqueIds = array_keys($myAssociativeArray[0]);
答案 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);
?>
答案 2 :(得分: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;
}