array('lastAcccess' => 1160283970), 'BBC English' => array('lastAcccess' => 1160278359)) ; function getFeed($url, &$cacheData, $cacheTime = 60, $cacheDir = '/tmp/') { $cleanName = strtolower(preg_replace('/[^a-z0-9]/i', '', str_replace('http://', '', $url))); var_dump($url); if (file_exists($cacheDir . $cleanName) && $cacheData[$url]['lastAccess'] > time() - $cacheTime) { return file_get_contents($cacheDir . $cleanName); } else { var_dump($url); die(); $feedXml = file_get_contents($url); file_put_contents($cacheDir . $cleanName, $feedXml); $cacheData[$url]['lastAccess'] = time(); return $feedXml; } } foreach($feeds as $feedSource => $feedData) { $articlesFromThisFeed = 0; $feedXml = getFeed($feedData['url'], &$cacheData, $cacheTime, $cacheDir); }