Edit report at https://bugs.php.net/bug.php?id=62132&edit=1
ID: 62132 Updated by: [email protected] Reported by: chealer at gmail dot com Summary: Do not keep last element treated by foreach referenced -Status: Open +Status: Duplicate Type: Feature/Change Request Package: Scripting Engine problem PHP Version: 5.4.3 Block user comment: N Private report: N New Comment: The proper venue for this discussion is the internals mailing list. Previous Comments: ------------------------------------------------------------------------ [2012-05-24 01:46:12] [email protected] this is more about a wrong usage, fix this will introduce a big bc break. ------------------------------------------------------------------------ [2012-05-24 01:04:00] chealer at gmail dot com Description: ------------ As explained on http://ca.php.net/manual/en/control-structures.foreach.php : Warning 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 situation causes bugs like: https://bugs.php.net/bug.php?id=29992 https://bugs.php.net/bug.php?id=40654 https://bugs.php.net/bug.php?id=47388 https://bugs.php.net/bug.php?id=49386 https://bugs.php.net/bug.php?id=50485 https://bugs.php.net/bug.php?id=54189 [email protected] pointed out that this problem was already discussed (see https://bugs.php.net/bug.php?id=60024 ). ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=62132&edit=1
