ID:               48561
 User updated by:  huf at nws dot hu
 Reported By:      huf at nws dot hu
 Status:           Open
 Bug Type:         Arrays related
 Operating System: linux 2.6
 PHP Version:      5.2.9
 New Comment:

code to reproduce should be like:
<?php

$array = array(1, 2, 3);

foreach ($array as &$a) {
}

var_dump($array);
foreach ($array as $a) {
}

var_dump($array);


Previous Comments:
------------------------------------------------------------------------

[2009-06-15 18:16:33] huf at nws dot hu

Description:
------------
it looks like foreach (var as &val) syntax leaves a refecence alive
after the last iteration. calling a subsequent foreach (var as val)
(same variable being used to iterate, but not as a ref now), the
reference from the first foreach is used to update the array...

Reproduce code:
---------------
<?php

$array = array(1, 2, 3);

foreach ($array as &$a) {
}
unset($a);
var_dump($array);
foreach ($array as $a) {
}

var_dump($array);


Expected result:
----------------
$array unchanged

Actual result:
--------------
$array changed.


------------------------------------------------------------------------


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

Reply via email to