Gary wrote: >Better. I can tell you how to solve it: > $a = array('a', 'b','c'); > foreach($a as &$row){ > //you don't have to do anything here > } > unset($row); // <----<<< THIS IS KEY! > print_r($a); > foreach($a as $row){ > echo "<br />".$row; > } > print_r($a); I see what you're doing now: unsetting the variable, not the array element referenced by the variable. You're right, it does work. It's not exactly better than knowing what's wrong, though... it's different. I already had a workaround, although it was not quite as elegant. My desire now is to find out whether the behavior I described is due to something I don't understand about PHP, or to a bug. If it's something I don't understand, I want to understand it. If it's a bug, I want to report it. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php