0

我在 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

为什么没有显示第二个“Gap”?

谢谢

4

2 回答 2

5

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

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

array(
    'Gap' => array(
        'Gap1',
        'Gap2'
    )
);
于 2013-02-20T20:53:24.487 回答
3

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

于 2013-02-20T20:54:13.743 回答