【问题标题】:Get data from multi dimension array从多维数组中获取数据
【发布时间】:2012-07-21 13:37:05
【问题描述】:

我是一个学习 PHP 的新手。今天我有一个项目被卡住了,它破坏了我的品牌:(。希望有人能帮我解决它。

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

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

【问题讨论】:

  • 我不确定你真正想要什么,但你可以试试array_walk_recursive()。
  • 是的,我的英语水平太低了……我需要显示子节点和父节点的目录树列表。我将它转换为多维数组,但不知道如何显示它。因为实际上,我不知道数组有多少维。

标签: php foreach dimension


【解决方案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');

【讨论】:

猜你喜欢
  • 2019-11-04
  • 2016-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
相关资源
最近更新 更多