Вы можете заставить последователей () обрабатывать один из каналов и дважды вызывать функцию, или вы можете вернуть массив с обоими значениями.
$rssfeed = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=tutorialsbucket";
$twitter = "http://twitter.com/users/show.xml?screen_name=tutorialsbucket";
function followers($url, $twitter) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($data);
if($twitter) {
return $xml->followers_count;
}else{
return $xml->feed->entry['circulation'];
}
}
$tw = followers($twitter, true);
$fb = followers($rssfeed, false);
или:
$rssfeed = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=tutorialsbucket";
$twitter = "http://twitter.com/users/show.xml?screen_name=tutorialsbucket";
function followers($arg1, $arg2) {
$url = array($arg1, $arg2);
$result = array();
foreach ($url as $value)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $value);
$data = curl_exec($ch);
curl_close($ch);
$xml = new SimpleXMLElement($data);
$fb = $xml->feed->entry['circulation'];
$tw = $xml->followers_count;
if (!empty($fb))
{
$result[] = $fb;
}elseif(!empty($tw)){
$result[] = $tw;
}
}
return $result;
}
list($fb, $tw) = followers($rssfeed, $twitter);
Я предпочитаю первый, так как это просто и очевидно, что происходит.Вы можете сделать его еще более общим, используя XPath для извлечения записей и позволяя второму аргументу быть описанием XPath.