#48789 [Com]: foreach($a as $k => &$v) gives unexpected behavior

[email protected] ("ehsmeng at gmail dot com")
Newsgroups php.bugs
Message-ID <[email protected]>
 ID:               48789
 Comment by:       ehsmeng at gmail dot com
 Reported By:      ehsmeng at gmail dot com
 Status:           Open
 Bug Type:         Arrays related
 Operating System: Windows XP
 PHP Version:      5.2.10
 New Comment:

Sorry, forgot: If I change &$row to $row in the first foreach all works
as I expect it to.


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

[2009-07-03 15:46:04] ehsmeng at gmail dot com

Description:
------------
The last foreach seems to corrupt $rows_unsorted. The last var_dump()
in the log reports false.

Reproduce code:
---------------
    $rows_unsorted = array();
    for ($i = 0; $i < 4; $i++)
    {
        array_push($rows_unsorted, array("apa" . $i));
    }

    $rows_index = array();
    foreach ($rows_unsorted as $k => &$row)
    {
        array_push($rows_index, sprintf("%03d_%d", strlen($row[0]),
$k));
    }

    for ($i = 0; $i < 4; $i++)
    {
        var_dump($rows_unsorted[$i]);
    }

    foreach ($rows_index as $idx)
    {
        list ($len, $rowOffs) = split('_', $idx);
        $row = false;
        $row = $rows_unsorted[0 + $rowOffs];

        var_dump($row);
    }

Expected result:
----------------
I was expecting all values in $rows_unsorted to have been dumped.



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


-- 
Edit this bug report at http://bugs.php.net/?id=48789&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.