Edit report at http://bugs.php.net/bug.php?id=54930&edit=1

 ID:                 54930
 Updated by:         pierr...@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

Reply via email to