How can I add a new key/value pair to an existing array inside of nested foreach loops and have that pair persist outside the scope of the loops?
<?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.....
}
}
?>
thanks
If I understand correctly, what you want is this (for the first loop):
foreach ($rss->items as &$item) {
The &
will make $item
be a reference, and any changes you make to it will be reflected in $rss->items
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With