go to bug id or search bugs for
As explained on http://ca.php.net/manual/en/control-structures.foreach.php :
Reference of a $value and the last array element remain even after the foreach loop. It is recommended to destroy it by unset().
In my opinion, PHP shouldn't keep the last element referenced by default, but at least, please provide a syntax which will not keep it. The current situations causes bugs like https://bugs.php.net/bug.php?id=49386
Add a Patch
Add a Pull Request
Please fix this. It creates a lot of hard to debug bugs.
This has previously been discussed and rejected, due to users relying both on
PHP's lack of block scope and foreach's by-reference syntax. (Sometimes both at
Duplicate of bug #29992, bug #47388, bug #54189, bug #50485, and probably a bunch
Could the discussion be linked to?
This is not a duplicate of any of the reports indicated. The reports indicated are reports of application bugs as PHP bugs, which are therefore invalid. This report is asking to change PHP, in order to avoid such application bugs.
Sure, it's come up on the mailing list a few times, but the one I was thinking of
specifically is: http://comments.gmane.org/gmane.comp.php.devel/59471
Thank you. I read the discussion once, but I didn't see where it rejects this. Could the rejections be quoted or pointed more specifically?