Req #62132 [Opn]: Do not keep last element treated by foreach referenced

From: Date: Thu, 24 May 2012 01:46:12 +0000
Subject: Req #62132 [Opn]: Do not keep last element treated by foreach referenced
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-170748@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=62132&edit=1

 ID:                 62132
 Updated by:         laruence@php.net
 Reported by:        chealer at gmail dot com
 Summary:            Do not keep last element treated by foreach
                     referenced
 Status:             Open
 Type:               Feature/Change Request
 Package:            Scripting Engine problem
 PHP Version:        5.4.3
 Block user comment: N
 Private report:     N

 New Comment:

this is more about a wrong usage, fix this will introduce a big bc break.


Previous Comments:
------------------------------------------------------------------------
[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

aharvey@php.net 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


Thread (3 messages)

« previous php.bugs (#170748) next »