в этом коде вы сбрасываете $ i в 0 во внутреннем цикле for.
for($i=0; $i<4; $i++){
$xmls[$i][$type] = simplexml_load_file($urls[$i][$type]);
//Prepare news items
$items[$i][$type] = $xmls[$i][$type]->channel->item;
for($i=0; $i<4; $i++){
$article_titles[$i][$type] = $items[$i][$type]->title;
$encoded_titles[$i][$type] = iconv("UTF-8","windows-1251",$article_titles[$i][$type]);
}
//$article_links[$type][$i] = $items[$type][$i]->link;
}
попробуйте изменить внутреннюю переменную цикла for на другую. Также, когда вы определяете свои массивы, кажется, что вы не следуете той же структуре.
$xmls[$i][$type]
не = ваш первоначальный экземпляр $xmls[$type] = array();
это верно для всех остальных ваших массивов.
поэтому я думаю, что ваша структура массива отключена, потому что вы добавляете верхний уровень $type
, а затем, когда вы выполняете итерацию, вы используете $i
в качестве ключа верхнего уровня.
попытаться удалить экземпляры массивов в начале
function getRssFeeds($urls,$type){
//Fill XML objects
for($i=0; $i<4; $i++){
$xmls[$i][$type] = simplexml_load_file($urls[$i][$type]);
//Prepare news items
$items[$i][$type] = $xmls[$i][$type]->channel->item;
for($i=0; $i<4; $i++){
$article_titles[$i][$type] = $items[$i][$type]->title;
$encoded_titles[$i][$type] = iconv("UTF-8","windows-1251",$article_titles[$i][$type]);
}
//$article_links[$type][$i] = $items[$type][$i]->link;
}
return $encoded_titles;
}