PHP循环通过多维数组

时间:2014-05-05 10:11:54

标签: php arrays loops multidimensional-array

我在var_dump中有一个如下所示的数组。

array (size=3)
  0 => 
    array (size=2)
      0 => 
        array (size=1)
          '08:40:00' => string '8:40 am' (length=7)
      1 => 
        array (size=1)
          '09:00:00' => string '9:00 am' (length=7)
  1 => 
    array (size=5)
      0 => 
        array (size=1)
          '12:00:00' => string '12:00 pm' (length=8)
      1 => 
        array (size=1)
          '12:20:00' => string '12:20 pm' (length=8)
      2 => 
        array (size=1)
          '12:40:00' => string '12:40 pm' (length=8)
      3 => 
        array (size=1)
          '13:00:00' => string '1:00 pm' (length=7)
      4 => 
        array (size=1)
          '13:20:00' => string '1:20 pm' (length=7)

最好的方法是循环访问此数组以访问第二级元素(时钟时间),而不假设主数组的大小(当前为2)。

是的,我正在寻求代码帮助,但Google上的大多数示例都是针对带有字符串索引的数组,例如testarray [&#39;早餐时间&#39;]和testarray [&#39;午餐时间&#39;]。< / p>

1 个答案:

答案 0 :(得分:2)

你需要像这样的递归函数

function show_branch($branches, $level = 0, $index = null) {
    if (!is_array($branches)/* and $level == 2 */) {
        echo $index.' - '.$branches.' (level: '.$level.')';
        return;
    }
    $level++;
    foreach ($branches as $branch) {
        show_branch($branch, $level, $index);
    }
}

show_branch($tree);

此功能浏览您的树,直到非数组分支 如果您只想查看级别2,也可以添加条件。