我正在尝试创建一个嵌套数组,以便在网页中生成嵌套列表。
到目前为止,我已成功获得以下内容:
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);
答案 0 :(得分:1)
尝试更改
$results[$year][$show] = array($row['CLASS_NAME']);
到
$results[$year][$show][] = $row['CLASS_NAME']
我认为问题在于,每次使用相同的“show”进行循环时,您都会覆盖数组。如果你按照我上面所说的做,而不是覆盖,它会将下一个类放入下一个可用的索引中。