PHP:数组修改超出了foreach循环的范围

Tho*_*nry 4 php arrays scope loops

如何将新的键/值对添加到嵌套的foreach循环内的现有数组中,并使该对保持在循环范围之外?

<?PHP
    include('magpierss/rss_fetch.inc');
    /*
        one, two, skip a few...
        $urls is an associative array with 
        database indices as keys and 
        URLs as values
    */

    foreach ($urls as $url_hsh)
    {
        $feed_id = $url_hsh[0];
        $url     = $url_hsh[1];

        echo $feed_id . "<br/>" . $url . "<br/>"; // works as expected

        $rss = fetch_rss($url); // from 'magpierss/rss_fetch.inc' above

        foreach ($rss->items as $item)
        {
            $item['feed_id'] = $feed_id;
            echo $item['feed_id'] . "<br/>"; // works as expected
        }

        foreach ($rss->items as $item)
        {
            echo $item['feed_id'] . "<br/>"; // nuthin..... 
        }
    }
?>
Run Code Online (Sandbox Code Playgroud)

谢谢

Pao*_*ino 9

如果我理解正确,你想要的是这个(对于第一个循环):

foreach ($rss->items as &$item) {
Run Code Online (Sandbox Code Playgroud)

&$item是一个参考,你做任何更改将反映$rss->items