Vince Parker Vince Parker - 1 month ago 10
PHP Question

PHP - Changing a value from a query result using 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.

Answer

use &.

Its means iterated over references to actual values of array &$task

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

without & means its iterated over copy of array value.so its not overwrite your array.

take a look in documentation

Comments