On 23 October 2010 07:50, Jonathan Sachs <081...@jhsachs.com> wrote: > 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.
It is not a bug - somewhere before the foreach loop you've got, a variable is being referenced, and that's throwing things off. Otherwise, unsetting the variable would have no effect on the problem you're seeing. Regards Peter -- <hype> WWW: plphp.dk / plind.dk LinkedIn: plind BeWelcome/Couchsurfing: Fake51 Twitter: kafe15 </hype> -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php