PHP: replace array value doesn't stay after foreach loop

Viewed 10886

I'm changing the value in a multi-dimensional array and it's not staying outside of the foreach loop that's being used to traverse it.

My array initially looks something like this:

Array
{
  [0] => Array
   {
     [name] => Bob
     [age] => 33
     [state] => CA
     [visited] => 0
   }
   ...
}

My PHP gets into it by going:

foreach ($people as $person){
 echo $person['name']
 ....
 logic for the visited variable
 ...
 $person['visited'] = $calculated_visit_value;
}

If I

print_r($person)

at the end (but inside) of the foreach loop everything looks good, the value for visited is set. However, if I print_r($people) outside of the loop, $person['visited'] is not set. I don't know what I'm doing wrong.

Help is appreciated.

4 Answers
Related