[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как групировать елементы масива в групи по алфавит
Oggy
Здравствуйте. У меня есть масив в котором хранятся производители продуктов. Мне нужно сделать список етих производителей как ТУТ
Как групировать елементы масива и сортировать их по алфавиту ?
volter9
Цитата (Oggy @ 11.01.2015 - 05:06)
Здравствуйте. У меня есть масив в котором хранятся производители продуктов. Мне нужно сделать список етих производителей как ТУТ
Как групировать елементы масива и сортировать их по алфавиту ?

Сортируешь по алфавиту и собираешь все элементы по первой букве:

mb_internal_encoding('UTF-8');

function group_alpha ($array) {
$grouped = array();

foreach ($array as $item) {
$letter = mb_strtoupper(mb_substr($item, 0, 1));

$grouped[$letter][] = $item;
}

return $grouped;
}

// Тестовые производители
$a = array(
'Nokia',
'Apple',
'Microsoft',
'Bosch',
'1С',
'HP',
'Acer',
'Русская Компания',
'Русская ООО Компания'
);
sort($a);

// Отсортированный массив
$grouped = group_alpha($a);


Дальше выводишь многомерный массив (внутри массива ключи и массивы как значения, ключ это первая буква, а массивы это список производителей):

foreach ($grouped as $letter => $group) {
echo "Производители на букву (символ) $letter:<br/>\n";

foreach ($group as $manufacturer) {
echo $manufacturer, "<br/>\n";
}
}


Вывод
Производители на букву (символ) 1:

Производители на букву (символ) A:
Acer
Apple
Производители на букву (символ) B:
Bosch
Производители на букву (символ) H:
HP
Производители на букву (символ) M:
Microsoft
Производители на букву (символ) N:
Nokia
Производители на букву (символ) Р:
Русская Компания
Русская ООО Компания


Можешь убрать sort($a) если у тебя результат из базы данных пришел уже отсортированный. Дальше Вы наверное сами разберетесь. :)

_____________
Мой блог
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.