Сгруппировать названия по групам. PHP

lutskboy
На сайте с 22.11.2013
Offline
173
649

Всем привет

У меня в цикле выводятся названия новостей по алфавиту

while() {

echo $name;
}

Допустим такие

Апельсин

Банан

Батон

Ватрушка

Зефир

Картошка

Редиска

Перец

Яблоко

Цукини

Мне нужно их сгрупировать, и выводить групами по-блочно. А-Г, Д-З, И-К...Ц-Я

чтоб было типа такого


<div>А-Г</div>
Апельсин
Банан
Батон
Ватрушка
<div>Д-З</div>
Зефир
<div>И-К</div>
Картошка
...........
<div>Ц-Я</div>
Яблоко
Цукини

Как можно такое реализовать наиболее правильно?

С
На сайте с 19.08.2011
Offline
51
#1
lutskboy:
Всем привет
У меня в цикле выводятся названия новостей по алфавиту
while() {

echo $name;
}

Допустим такие
Апельсин
Банан
Батон
Ватрушка
Зефир
Картошка
Редиска
Перец
Яблоко
Цукини

Мне нужно их сгрупировать, и выводить групами по-блочно. А-Г, Д-З, И-К...Ц-Я
чтоб было типа такого


<div>А-Г</div>
Апельсин
Банан
Батон
Ватрушка
<div>Д-З</div>
Зефир
<div>И-К</div>
Картошка
...........
<div>Ц-Я</div>
Яблоко
Цукини

Как можно такое реализовать наиболее правильно?

Если по буквам, например.

1) Сортируем список

2) Идем по списку в цикле, получаем и запоминаем первую букву

3) Если следующее слово с такой же буквы, добавляем в список к предыдующему слову, в ином случае создаем новый блок с буквой и записываем слово в новый список

Для групп будет тоже самое, только надо:

1) Обозначить группы букв массивами (массив 1 - а, б, в, массив 2 - г, д, е)

2) Сортируем список

3) Идем по списку в цикле, получаем и запоминаем первую букву

4) Находим группу, в которой должно находиться слово на эту букву

5) Складываем слово в эту группу

6) Когда все сложили, берем список групп, выводим в цикле список слов для каждой группы

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий