Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вывод в цикле с разделением по группам и повторами


Автор: taral 12.9.2011, 01:56
Здравствуйте. Хотел спросить совет. Может кто подскажет алгоритм по проще чем у меня. Есть массив
Код

$array=array(
    array('group'=>'Группа 1', 'name'=>'Значение 1'),
    array('group'=>'Группа 1', 'name'=>'Значение 2'),
    array('group'=>'Группа 2', 'name'=>'Значение 3'),
    array('group'=>'Группа 1', 'name'=>'Значение 4'),
);

Прошу обратить внимание что группа 1 встречается на 1 2 и 4 позиции. Этот момент важен. В результате мы должны получить такой код
Код

[Группа 1: Значение 1 Значение 2]
[Группа 2: Значение 3]
[Группа 1: Значение 4]

Свое решение пока не буду приводить что бы оно не мешало и не мазолило глаз. Потому что оно не совсем хорошее, а с правильного направления сбить может.

 P.S. если бы не нужно было повторять группу при выводе решение я бы выбрал такое
Код

$group=array();
foreach($array as $val) {
    $group[ $val['group'] ][]  = $val['name'];
}
foreach($group as $gName=>$names) {
    echo '['.$gName.' '.implode(' ', $names).']';
}

но увы

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)