У меня есть многомерный массив (стандартная стоимость RSS - канал - элемент - заголовок), и я пытаюсь отсортировать его по заголовку. Я использую SimpleXML и создал массив элементов из объектов SimpleXML. Затем я сделал еще один массив заголовков из массива items. Затем я отсортировал массив элементов по заголовку, используя array_multisort ().
Это своего рода работа. Есть 122 пункта. Сортировка размещает 2 элемента по порядку, затем 80 элементов по порядку, затем 38 элементов по порядку, затем 2 элемента по порядку. Я не уверен, почему он разделяет их на 4 группы.
XML:
<channel>
<item>
<title>Saved To Serve</title>
<guid>http://www.moorelife.org/rss/SavedToServe.xml</guid>
<pubDate>Sun, 06 Nov 2011 11:00:00 CST</pubDate>
</item>
<item>
<title>Filled With All The Fullness Of God</title>
<guid>http://www.moorelife.org/rss/FilledWithAllTheFullnessOfGod.xml</guid>
<pubDate>Mon, 03 Oct 2011 19:00:00 CST</pubDate>
</item>
</channel>
PHP:
<code><?php
$items = array();
foreach($data->channel->item as $item) {
$items[] = $item;
}
$titles = array();
foreach($items as $item) {
$titles[] = $item["title"];
}
array_multisort($titles, SORT_ASC, $items);
print "<pre>\n";
print_r($items);
print "
\ п ";
?>
В xml-файле «Сохранено на службу» находится прямо перед «Полностью исполненной Бога» (как в примере). Когда отсортировано, FWATFOG должен быть примерно за 50 пунктов до STS. В фактическом выводе STS # 2 и FWATFOG # 86 (в 3-й алфавитной группе).
Моя конечная цель - иметь возможность иметь ссылки для сортировки по заголовку или дате (желательно с AJAX, чтобы нам не приходилось иметь дело с перезагрузками страниц). Ребята, у вас есть идеи или предложения?
JJ