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

Reply via email to