Php 具有相同数组名称的Foreach循环数组

Php 具有相同数组名称的Foreach循环数组,php,foreach,Php,Foreach,我想做的是: 我想根据年/月/日回显信息 我的代码是: $data = array( "2018" => array( "September" => array( "02" => array( "Line 1" ), "02" => array( "Line 11" ),

我想做的是: 我想根据年/月/日回显信息

我的代码是:

  $data = array(
    "2018" => array(
        "September" => array(
            "02" => array(
                "Line 1"
            ),
            "02" => array(
                "Line 11"
            ),
            "12" => array(
                "Line 2"
            ),
            "31" => array(
                "Line 3"
            )
        ),
        "December" => array(
            "02" => array(
                "Line 11"
            ),
            "12" => array(
                "Line 22"
            ),
            "31" => array(
                "Line 33"
            ),
            "32" => array(
                "Line 66"
            )
        )
    ),
    "2019" => array(
        "May" => array(
            "05" => array(
                "Line z"
            ),
            "15" => array(
                "Line y"
            ),
            "55" => array(
                "Line x"
            )
        )
    )
);


echo '<pre>';
print_r($data);
echo '</pre>';

foreach ($data as $years => $year) {

    echo $years . "<br>";

    foreach ($year as $months => $month) {

        echo $months . "<br>";


        foreach ($month as $days => $day) {


            foreach ($day as $key => $value) {
                echo $days . " - " . $value . "<br>";
            }
        }
    }
}
但是我得到了这个

    "September" => array(
        "02" => array(
            "Line 1",
            "Line 11"
        ),
        "12" => array(
            "Line 2"
        ),
        "31" => array(
            "Line 3"
        )
    ),

如何回显2018年9月2日的两个值?

您不能有重复的键。您正在定义02两次

解决方案:将九月定义为:


如果使用重复的数组名,则第一个数组中的最后一个数组将被替换。

一个数组中不能有两个相同的键,因为数组键是唯一的。@Devon那么这里的解决方案是什么?我对数组不是很有经验。你的结构无效,你需要重新处理它,因为你的数组在编写时不能存在。您可以在2002年9月2日将第1行和第11行存储在同一数组中,但不能有两个02键。可能存在重复的
2018
September
02 - Line 11
12 - Line 2
31 - Line 3
    "September" => array(
        "02" => array(
            "Line 1",
            "Line 11"
        ),
        "12" => array(
            "Line 2"
        ),
        "31" => array(
            "Line 3"
        )
    ),