duanshang3230 2016-10-05 05:22 采纳率: 100%
浏览 76
已采纳

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

I have a result from a SQL query stored inside $assignmentsViewList:

Array
(

    [0] => Array
    (
        [assign_id] => 302
        [ClassCount] => 25
    )

    [1] => Array
    (
        [assign_id] => 303
        [ClassCount] => 25
    )

    [2] => Array
    (
        [assign_id] => 325
        [ClassCount] => 25
    )

)

When I use it inside a foreach to change the value of ClassCount:

foreach ($assignmentsViewList as $task) {
    $task['ClassCount'] = 2;
}

It doesn't work. But if I try this:

$assignmentsViewList[0]['ClassCount']=2;

The code works well. But I need it to work inside the foreach loop.

  • 写回答

2条回答 默认 最新

  • dpm91915 2016-10-05 05:23
    关注

    In order to be able to directly modify array elements within the loop precede $task with &. In that case the value will be assigned by reference.

    Reference: PHP foreach()

    Try this:

    foreach ($assignmentsViewList as &$task) {
        $task['ClassCount'] = 2;   /* It will overwrite all 'ClassCount' values to 2 */
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?