我有一个存储在$ assignmentsViewList中的SQL查询的结果:
Array
(
[0] => Array
(
[assign_id] => 302
[ClassCount] => 25
)
[1] => Array
(
[assign_id] => 303
[ClassCount] => 25
)
[2] => Array
(
[assign_id] => 325
[ClassCount] => 25
)
)
当我在foreach中使用它来更改ClassCount的值时:
foreach ($assignmentsViewList as $task) {
$task['ClassCount'] = 2;
}
它不起作用。但如果我试试这个:
$assignmentsViewList[0]['ClassCount']=2;
代码效果很好。但我需要它在foreach循环中工作。
答案 0 :(得分:2)
为了能够在$ task之前的循环中直接修改数组元素和&amp ;.在这种情况下,该值将通过引用分配。
试试这个:
foreach ($assignmentsViewList as &$task) {
$task['ClassCount'] = 2; /* It will overwrite all 'ClassCount' values to 2 */
}
答案 1 :(得分:1)
use &
。
它的意思是迭代对数组&$task
foreach ($assignmentsViewList as &$task)
{
$task['ClassCount'] = 2; values of array
}
没有&意味着它迭代了数组值的副本。因此它不会覆盖你的数组。