4

ネストされた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..... 
        }
    }
?>

ありがとう

4

1 に答える 1

9

私が正しく理解していれば、あなたが望むのはこれです(最初のループの場合):

foreach ($rss->items as &$item) {

は参照&$itemなり、それに加えた変更は に反映されます。$rss->items

于 2009-02-14T02:45:14.213 に答える