What are the potential issues when trying to change a field within a loop in PHP?

When trying to change a field within a loop in PHP, it can lead to unexpected behavior or errors because the original array is being modified during iteration. To solve this issue, create a new array to store the modified values and then replace the original array with the new one after the loop has completed.

// Original array
$originalArray = [
    ['name' => 'John', 'age' => 25],
    ['name' => 'Jane', 'age' => 30],
    ['name' => 'Alice', 'age' => 20]
];

// Create a new array to store modified values
$newArray = [];

// Loop through the original array and modify the 'age' field
foreach ($originalArray as $item) {
    $item['age'] += 5; // Modify the 'age' field
    $newArray[] = $item; // Add the modified item to the new array
}

// Replace the original array with the new one
$originalArray = $newArray;

// Output the modified array
print_r($originalArray);