从多维数组中获取数据

时间:2012-07-23 10:12:04

标签: php foreach dimension

我是学习PHP的新手。今天我有一个项目并被卡住,它打破了我的品牌:(。希望任何人都可以帮我解决它。

示例i有一个带构造的数组:

Array ( 
    [a] => Array ( 
        [__base_val] => A 
        [c] => Array ( 
            [__base_val] => C 
            [e] => E 
            [f] => F 
        ) 
        [d] => D 
    ) 
    [b] => Array ( 
        [__base_val] => B 
        [g] => G 
    ) 
    [h] => H 
)

现在我需要获取每个节点的值并打印出一个有价值的树。但是如果使用foreach函数,我只能获得一个或两个或任何维度索引,如果我之前知道的话。

我如何为获取值编写一个php代码,遵循数组的索引维度,我不需要知道维度的数量?

这是我想要的结果:

class1: value from [__base_val]
class2: value from [__base_val]
child class 2 : value

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您正在寻找的,但我希望它是。

<?php
function print_deep($value, $key) {
    echo "$value: value from $key\n";
}

// Note: $array being the input array
array_walk_recursive($array, 'print_deep');