我在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
为什么不显示第二个“差距”?
感谢名单
答案 0 :(得分:6)
因为您不能拥有重复的数组键。第二个覆盖了第一个。
使用Gap2
或其他内容作为您的下一个数组键。或者,更好的是,嵌套它:
array(
'Gap' => array(
'Gap1',
'Gap2'
)
);
答案 1 :(得分:3)
您的数组中的两个值不能绑定到同一个键。一种常见的方法是将多个值放在另一个子数组中,但使用相同的键。但它增加了代码的复杂性。小心。