【发布时间】:2014-02-23 16:48:32
【问题描述】:
我正在尝试修改多维数组的每个数组元素中第一个子元素的内容,但是,如果我通过引用传递所述元素,则会收到一个错误,即“&”不是预期的。我是否需要放弃 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 数组中每个数组的前两个子元素。
【问题讨论】:
-
事务数组中只有学生 ID 有什么? .修改子元素是什么意思??
-
transactions 包含一个交易数据数组(用户 ID、交易类型、借方、贷方等),其中第一个元素是学生标识符。我正在根据谁在查看页面来修改这个元素,如果是教师,它将是学生编号,如果是查看页面的学生,它将显示别名。我正在尝试在表格中输出之前执行所有重新格式化。 @尼纳德
-
然后在获取事务表本身时执行检查并相应地获取数组
-
@Ninad 遗憾的是,该表仅包含对 userID 的引用,然后我必须将该 id 与另一个表的 id 进行匹配以找到我想要的值。数据库设计不在我的控制范围内。我要求做的是否超出了 PHP 当前的能力?我知道这种结构是在 5.5 中才引入的。
-
那你为什么要使用对事务数组中元素的引用只使用简单的foreach循环来获取所需的id并修改为什么使用list??
标签: php multidimensional-array reference foreach