php - PHP 和 MYSQL 中的三级嵌套数组

标签 php mysql mysqli

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

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

    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']

我认为问题在于每次使用相同的“显示”通过循环时都会覆盖数组。如果你按照我上面说的去做,而不是覆盖,它会将下一个类放入下一个可用索引。

关于php - PHP 和 MYSQL 中的三级嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17774144/

相关文章:

javascript - 更新页面和网址而不重新加载

php - 如何使浏览器在访问 URL 时不刷新整个页面?

mysql - ASP.NET 在调用存储过程时说 FUNCTION 不存在

php - WAMP 服务器 2.5 数据库连接错误 - Wordpress

php - 为什么我的数组会这样

php - 根据日期获取总金额

php - MySQLi CREATE 表查询不工作

php - cakephp 模型中的电子邮件验证

php - 如何防止 PHP 中的 SQL 注入(inject)?

MySQL 工作台语法