Bug #54930 [Opn->Bgs]: Assigning a value inside a foreach leads to change a variable out of scope
| From: | pierrick@php.net | Date: | Wed, 25 May 2011 22:28:21 +0000 |
| Subject: | Bug #54930 [Opn->Bgs]: Assigning a value inside a foreach leads to change a variable out of scope | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-160965@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=54930&edit=1
ID: 54930
Updated by: pierrick@php.net
Reported by: dobrolyubov at gmail dot com
Summary: Assigning a value inside a foreach leads to change a
variable out of scope
-Status: Open
+Status: Bogus
Type: Bug
Package: Arrays related
Operating System: any
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
more explanation here:
http://schlueters.de/blog/archives/141-References-and-foreach.html
Previous Comments:
------------------------------------------------------------------------
[2011-05-25 23:04:42] dobrolyubov at gmail dot com
Description:
------------
I'm not sure if it's the right behavior, but seems that PHP doing it
wrong, see the test script.
Test script:
---------------
$v = array();
$data = array('v1' => '0');
foreach($data as $k => &$v)
;
foreach(array('v2' => '1') as $k => $v)
;
var_dump($data);
Expected result:
----------------
array(1) {
["v1"]=>
&string(1) "0"
}
Actual result:
--------------
array(1) {
["v1"]=>
&string(1) "1"
}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=54930&edit=1