【问题标题】:Is it possible to add elements to the 2nd dimension of a multidimensional array without a key in PHP?是否可以在没有 PHP 键的情况下将元素添加到多维数组的第二维?
【发布时间】:2022-11-03 03:15:13
【问题描述】:

我正在编写一个基于所选字段创建 Excel 报告的页面。我正在使用 SimpleXLSXGen 类,它需要一个 2 级多维数组,第二维中的每个数组都成为 Excel 工作表上的一行。我使用查询获取值并将字段分配给变量。

当我这样写时,一切都很好:

while ($row = mysqli_fetch_assoc($query)) {

    $rows[] = [
        $row["field0"], $row["field1"], $row["field2"], $row["field3"], $row["field4"],
        $row["field5"], $row["field6"], $row["field7"], $row["field8"], $row["field9"],
        $row["field10"], $row["field11"], $row["field12"]
    ];
}

但我的目标是动态填充数组。当我写这样的东西时:

while ($row = mysqli_fetch_assoc($query)) {

    for ($i = 1; $i < $field_count; $i++) {
        $rows[][] = $row["field" . $i];
    }
}

我最终得到包含所有元素的单行。这可能是一个愚蠢的语法问题,但我现在在这方面花了太多时间,我认为必须有一种方法可以在没有键的情况下迭代多维数组。我怎样才能做到这一点?

【问题讨论】:

    标签: php


    【解决方案1】:

    创建一个新数组并将其添加到第一个数组:

    while ($row = mysqli_fetch_assoc($query)) {
        $item = [];
        for ($i = 1; $i < $field_count; $i++) {
            $item[] = $row["field" . $i];
        }
        $rows[] = $item;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-06
      • 2013-01-11
      • 2020-03-11
      • 2014-09-18
      相关资源
      最近更新 更多