如何在foreach迭代中修改多维数组的子元素

2023-12-14

我试图修改多维数组的每个数组元素中第一个子元素的内容,但是,如果我通过引用传递所述元素,则会收到错误消息“&”不是预期的。我是否需要放弃 foreach ($arr as list ()) 语法并恢复到标准 for 循环并使用计数器变量进行访问?

foreach ($transactions as list(&$student, &$tyID)) {

    $query = "SELECT $column
              FROM student
              WHERE stUserID=$student";

    if ($stmt = mysqli_prepare($link, $query)) {
        mysqli_stmt_execute($stmt);

        mysqli_stmt_bind_result($stmt, $userHID);

        while (mysqli_stmt_fetch($stmt)) {
            $student = $userHID;
            $tyID = $transType[$tyID];
        }

        mysqli_stmt_close($stmt);
    }
}

编辑:更新的代码,我实际上需要修改 transactions 数组中每个数组的前两个子元素。


为什么不能用这种方式来做呢?假设键与列表变量相同

foreach ($transactions as &$transaction) {

    $query = "SELECT {$column}
              FROM student
              WHERE stUserID={$transaction['student']}";

    if ($stmt = mysqli_prepare($link, $query)) {
        mysqli_stmt_execute($stmt);

        mysqli_stmt_bind_result($stmt, $userHID);

        while (mysqli_stmt_fetch($stmt)) {
            $transaction['student'] = $userHID;
            $transaction['tyID'] = $transType[$transaction['tyID']];
        }

        mysqli_stmt_close($stmt);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在foreach迭代中修改多维数组的子元素 的相关文章

随机推荐

  • bodyParser 似乎不起作用

    抱歉 如果这个问题听起来 简单 但我不明白body parser处理这个非常简单的例子 use strict const PORT 3000 const express require express const bodyParser re
  • 所有时区时间都在哪里维护?

    如果我们设置TimeZone对于特定的Date java如何为此设置时间Date 例如如果我们设置PST作为时区 它如何知道确切的时区 它在哪里维护 提前致谢 时区数据源是特定于实现的 但我相信大多数实现都使用IANA 数据库 又名 zon
  • D3 折线图/面积图可以处理无序数据吗?

    请参考以下链接 https bl ocks org mbostock 34f08d5e11952a80609169b7917d4172 这里的数据是有序的 按顺序 如 2000 年 1 月 2000 年 2 月等 但我想让这个 d3 图适用
  • 有没有办法修复错误“不会尝试重新连接。原因:数据库位于不同的区域。”在带有 Firebase 的 Android Studio 中

    当我尝试在我的应用程序中注册时 进度条会无休止地运行 因为我的应用程序无法访问数据库 我尝试了一些获取更新的解决方案googles services json文件并更改我的代码中的 URL 但似乎没有任何效果 出现的错误 W Persist
  • Git 非快进拒绝

    我觉得这个问题已经被问过很多次了 但解决方案通常是 我删除了目录并通过新的签出重新完成了工作 我进行了提交并推送 但意识到我在提交消息中引用了错误的票号 所以我快速查看了一下solution最后在终端中输入以下内容 git reset so
  • 截断的 JTable 打印输出

    我有一个 JTable 它使用 JTextArea 作为其 TableCellRenderer 以便表格单元格可以利用自动换行 JTable 显示正常 当我通过 JTable 将表格打印到打印机时打印方法 输出总是在大约 60 的数据处被截
  • Axes3D 数据标签和绘图限制

    下面是一个小片段 说明了我遇到的与 matplotlib 的 Axes3D 实例中使用的立方体的大小以及轴标签的切断相关的问题 虽然我可以很容易地更改图形画布的背景颜色 但这仍然会导致标签上的文本变形 有谁知道如何最好地更改用于绘制数据的
  • 我无法使用 pack Uri 从 WPF 中的代码访问资源图像文件

    我的应用程序中有一些图像资源 我想以编程方式访问 现在我基于一些源代码 所以我需要通过 Uri 访问 所以我的代码是 new BitmapImage new Uri pack application YearBook component R
  • 使用 for_each 修改 std 容器(即使你不应该这样做)

    我正在参加 C 自学课程 学习标准库的工作原理 我想了解这段代码如何使用for each有效 特别是在突变方面objects 与本机数据类型相对 我意识到你不应该使用for each这边走 但这只是为了学习的目的 我原以为这段代码会改变集合
  • Java 的 SSH 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 有谁有使用 Java 的 SSH 库连接的示例吗 The Java 安全通道 JSCH 是一个非常流行的库 maven ant和eclipse都使用 它是开源的 具有 BSD 风格许
  • Angular Material - MdInput 到 MatInputModule?

    我正在使用什么 Angular 角度材质 2 0 0 beta 12 我在做什么 我刚刚开始一个新项目并安装了材料 从以前的项目复制一些语法时 尝试导入时出现错误 从 angular material 导入 MdInputModule 深入
  • 如何更新另一个更新面板中的控件?

    我在层次结构中有三个更新面板 UpdatePanel1 Root UpdatePanelChild1 UpdatePanelChild2 我可以在 updatePanel2 发生事件时更新 updatePanel1 中的控件吗 我不太喜欢每
  • 如何将数组中的值添加到其前后的值

    我试图将数字数组转换为非零整数元素值的步骤 即 spread 0 0 n 0 0 returns gt 0 n 2 0 n 1 n 0 n 1 0 n 2 spread 0 0 0 n 0 2 returns gt 0 n 3 0 n 2
  • 针对性能不佳的 Lint 警告 - 80+ 次观看

    我收到此 lint 警告错误 highscores xml has more than 80 views bad for performance 这是我的高分表 有 15 行 3 列 这是我的应用程序的 Lite 版本 我的付费版本将容纳
  • 启动错误:java.lang.InknownClassChangeError:org/apache/struts2/convention/DefaultClassFinder$InfoBuildingVisitor

    我有一个 Struts2 应用程序 最初是基于 XML 的 但现在我第一次引入了基于注释的操作 并且该应用程序在启动时崩溃了 鉴于以下操作映射 在应用程序启动时 我收到错误 java lang InstantiationError com
  • python 字典 keyError

    python 新手 看起来像是简单可行的代码片段KeyError patt list jkasb dict for i in patt dict i 1 if dict i is None else dict i 1 This line t
  • 没有 StreamReader 构造函数接受字符串

    我正在将 NET 4 6 1 控制台应用程序移植到 NET Core 我安装了 NETStandard Library 1 6 但它不允许我将文件路径字符串传递到 StreamReader 构造函数中 查看定义确认它不可用 它去哪儿了 这是
  • 在Python中使用静态地址和偏移量从进程读取内存地址

    我正在尝试在 Python 中读取另一个进程的内存 并且我有程序的静态地址和所有偏移量 我正在使用win32api去做这个 我已经可以使用没有偏移量的地址读取进程的内存 但我不知道如何使用偏移量 我已经尝试过该脚本这个答案但它返回 1 我已
  • 使用 python 和 numpy 进行二维卷积

    我正在尝试使用 numpy 在 python 中执行二维卷积 我有一个二维数组 如下所示 内核 H r 代表行 H c 代表列 data np zeros nr nc dtype np float32 fill array with som
  • 如何在foreach迭代中修改多维数组的子元素

    我试图修改多维数组的每个数组元素中第一个子元素的内容 但是 如果我通过引用传递所述元素 则会收到错误消息 不是预期的 我是否需要放弃 foreach arr as list 语法并恢复到标准 for 循环并使用计数器变量进行访问 forea