Это похоже на репост, но в любом случае ...
NiseNise хочет отсортировать узлы, а затем оставить топ 5. Проблема в том, что это выражение XPath выбирает первые 5 узлов в документе, а затем метод сортирует их. Вам нужно отсортировать все узлы, а затем обработать только первые 5.
foreach($xml->sortedXPath('TV[ProgrammeName="MTV"]', 'TransmissionDate', SORT_DESC) as $i => $item)
{
if ($i > 5)
{
break;
}
print "<a href='?v=".$item->ID."&a=false' class='link'>\n";
// etc...
}
Я забыл упомянуть, sortedXPath()
не является частью SimpleXML, он входит в библиотеку , расширяющую SimpleXML , и, следовательно, повторную маркировку.