4

私は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:数値インデックスから連想配列キーを取得する方法は?

4

3 に答える 3

11
$uniqueIds = array_keys($myAssociativeArray[0]);
于 2013-03-03T10:16:03.090 に答える
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);
    ?> 
于 2013-03-03T09:59:51.417 に答える
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;
}
于 2015-11-28T23:33:32.607 に答える