PHP-使用foreach更改查询结果中的值

PHP-使用foreach更改查询结果中的值,php,foreach,Php,Foreach,我有一个存储在$AssignmentsView列表中的SQL查询结果: Array ( [0] => Array ( [assign_id] => 302 [ClassCount] => 25 ) [1] => Array ( [assign_id] => 303 [ClassCount] => 25 ) [2] => Array

我有一个存储在$AssignmentsView列表中的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循环中工作

为了能够直接修改循环中的数组元素,请在$task之前使用&。在这种情况下,将通过引用指定值

参考:

试试这个:

foreach ($assignmentsViewList as &$task) {
    $task['ClassCount'] = 2;   /* It will overwrite all 'ClassCount' values to 2 */
}
为了能够直接修改循环中的数组元素,请在$task之前使用&。在这种情况下,将通过引用指定值

参考:

试试这个:

foreach ($assignmentsViewList as &$task) {
    $task['ClassCount'] = 2;   /* It will overwrite all 'ClassCount' values to 2 */
}
使用&

它的意思是迭代引用数组
和$task的实际值

 foreach ($assignmentsViewList as &$task)
{
  $task['ClassCount'] = 2;  values of array
}
without&表示数组值的迭代副本。因此它不会覆盖数组

使用&

它的意思是迭代引用数组
和$task的实际值

 foreach ($assignmentsViewList as &$task)
{
  $task['ClassCount'] = 2;  values of array
}
without&表示数组值的迭代副本。因此它不会覆盖数组


您在这里到底想要实现什么?是否要更新所有
ClassCount
值?还是只有一个?我正在更改所有的类计数值。请看我的答案。这应该能解决你的目的。你到底想达到什么目的?是否要更新所有
ClassCount
值?还是只有一个?我正在更改所有的类计数值。请看我的答案。它应该可以解决您的问题。我以前见过这个“&”,但我不知道在修改时需要这个。谢谢。我以前看过这个“&”,但我不知道修改时需要这个。非常感谢。