PHP中的三层嵌套数组;MYSQL


3-Level Nested Array in PHP & MYSQL

我正在尝试创建一个嵌套数组,以便在网页中生成嵌套列表。

到目前为止,我已经设法获得了以下内容:

    Array
(
[2012] => Array
    (
        [Show 1] => Array
            (
                [0] => Class 1
            )
        [Show 2] => Array
            (
                [0] => Class 1
            )
    )
[2009] => Array
    (
        [Show 1] => Array
            (
                [0] => Class 1
            )
    )
[2008] => Array
    (
        [Show 1] => Array
            (
                [0] => Class 1
            )
    )
)

然而,我的实际结果是每场演出超过1节课,所以看起来应该是:

[2012] => Array
    (
        [Show 1] => Array
            (
                [0] => Class 1
                [1] => Class 2
                [2] => Class 3
            )
etc etc etc.

到目前为止,我已经做到了,但不知道如何继续,以便每场演出都能上一节以上的课。

我的代码如下:

$handlerresults = $db->query("SELECT SHOW_NAME, YEAR, CLASS_NAME FROM vwhandlerresults WHERE HANDLER_ID = $gethandlerid ORDER BY YEAR DESC");
$showname = '';
while($row = $handlerresults->fetch_array(MYSQLI_ASSOC)) {
$year = $row['YEAR'];
$show = $row['SHOW_NAME'];
$results[$year][$show] = array($row['CLASS_NAME']);
}
print_r($results);

尝试更改

$results[$year][$show] = array($row['CLASS_NAME']);

$results[$year][$show][] = $row['CLASS_NAME']

我认为问题是,每次使用相同的"show"通过循环时,都会覆盖数组。如果您按照我上面所说的操作,它将把下一个类放入下一个可用的索引中,而不是覆盖。