blackvj, Всё там выходит (я про $i % 6) , смотря как его записывать. Сохрани свои строки в простой массив (список), и сколько бы их не было, после каждой 6-й строки будет добавлен закрывающий див, а так же он будет добавлен по окончании списка (см. листинг):
* (+/-)
$array = [
'string - 1 ',
'string - 2 ',
'string - 3 ',
'string - 4 ',
'string - 5 ',
'string - 6 ',
'string - 7 ',
'string - 8 ',
'string - 9 ',
'string - 10 ',
'string - 11 ',
'string - 12 ',
'string - 13 ',
'string - 14 ',
'string - 15 '
];
$out = '<div>';
foreach ($array as $i => $str) {
$i % 6 || $i == 0 ? $out .= $str : $out .= '</div><div>'. $str;
}
$out .= '</div>';
echo $out;
/** Результат
<div>string - 1 string - 2 string - 3 string - 4 string - 5 string - 6 </div>
<div>string - 7 string - 8 string - 9 string - 10 string - 11 string - 12 </div>
<div>string - 13 string - 14 string - 15 </div>
*/