数组键作为具有多维数组的值

时间:2015-10-02 18:22:48

标签: php arrays multidimensional-array

我目前有一个看起来像这样的数组

Gradle

现在,我需要每个都使用每个键,但我很难通过foreach()循环获取它们,因为没有值。我一直在尝试使用array_keys,但忽略了多维键。有没有办法可以将键分配为值,有这样的结构吗?

Array
(
    [7] => Array
        (
            [49] => 
            [41] => 
        )

    [8] => Array
        (
            [70] => 
            [69] => 
        )

    [105] => 
    [9] => 
    [10] => 
)

这样我可以使用foreach()来获取每个键的值。我不知道这是否是最简单的方法,但我希望得到一些正确方向的提示。谢谢!

2 个答案:

答案 0 :(得分:2)

使用array_walk_recursive()将值作为值分配给值不是数组的每个条目。

答案 1 :(得分:1)

在这种情况下我们可以使用array_walk_recursive。在array_walk_recursive的回调函数中,如果我们传递元素引用然后在回调函数内部,我们可以用key更改空值。

array_walk_recursive($arr, function(&$item, $key){
    if(!$item && $key) $item  = $key;
});

print_r($arr);