Пожалуйста, сначала прочитайте этот вопрос: Разделите список записей первой буквой в заданном поле
На основную часть вопроса.
Я пытаюсь сортировать несколько заголовков в заданном массиве. В настоящее время они повторяются в алфавитном порядке, однако текущий код не достигает еще одной цели: отобразить алфавитную букву для ее группировки. Пример:
A ===================================== - Alice's Adventured in Wonderland - Animal Farm B ===================================== - Beyond the Chocolate War
и так далее.
Текущий, код отображается следующим образом:
Alice's Adventured in Wonderland Animal Farm Beyond the Chocolate War
Как вы можете видеть, мне нужно классифицировать по алфавиту. Другой пример вывода HTML можно увидеть здесь: http://wiki.solusvm.com/index.php/Category:Documentation (обратите внимание, что мне нужно только отображать категории + такие заголовки, как вывод HTML)
Вот код, который у меня есть до сих пор:
<?php function shamil_title_compare($a, $b) { return strcasecmp($a['title'], $b['title']); } usort($entries, 'shamil_title_compare'); $alphabetized = array(); foreach (range('A', 'Z') as $letter) { $alphabetized[$letter] = array(); } foreach ($entries as $entry) { $title = $entry['title']; $firstWord = strtok($title, ' '); if (!in_array($firstWord, array('The', 'A'))) { $alphabetized[$firstWord[0]][] = $entry; } else { $nextWord = strtok(' '); if ($nextWord !== false) { $alphabetized[$nextWord[0]][] = $entry; } else { $alphabetized[$firstWord[0]][] = $entry; } } echo $entry['title']."<br/>"; }
Что мне теперь делать?