跳过PHP多维数组元素

时间:2013-02-20 20:51:42

标签: php arrays

我在PHP中设置了一个多维数组,如下所示:

$contents = array(
    "Header1" => array(
         "Section 1" => array (
               "Description1",
               "Notes1",
         ),
         "Gap" => "Gap",
         "Section 2" => array (
               "Description2",
               "Notes2",
         ),
         "Gap" => "Gap",
         "Section 3" => array (
               "Description3",
               "Notes3",
         ),
    ),
);

然后我按如下方式遍历这个数组:

foreach ($contents as $header => $section) {
      foreach ($section as $title => $details) {
            echo $title."<br>";
      }
}

输出将是:

Section1
Gap
Section2
Section3

为什么不显示第二个“差距”?

感谢名单

2 个答案:

答案 0 :(得分:6)

因为您不能拥有重复的数组键。第二个覆盖了第一个。

使用Gap2或其他内容作为您的下一个数组键。或者,更好的是,嵌套它:

array(
    'Gap' => array(
        'Gap1',
        'Gap2'
    )
);

答案 1 :(得分:3)

您的数组中的两个值不能绑定到同一个键。一种常见的方法是将多个值放在另一个子数组中,但使用相同的键。但它增加了代码的复杂性。小心。