Не правильно
Вы должны установить 1, когда счетчик равен 2, 8, 14 и т. Д.
В настоящее время вы захватываете, когда счетчик составляет 2, 4, 8 и т. Д.
И установить 2, когда счетчик равен 6, 12, 18 и т. Д.
В настоящее время это число равно 4, 8, 12 и т. Д.
Итак, условие 1 равно ((count-2) % 6) == 0
А условие 2 равно (count != 0) && (count % 6) == 0
Вот то, что должно работать
$count = 0;
foreach ($listing as $entry){
if ($count < 2){
// add to 2-item set
} else {
// add to 4-item set
}
if ($count < 6) $count++;
else $count = 0;
}
Или, если вы хотите получить 2/4 предмета одновременно:
$count = 0;
foreach ($listing as $entry){
if ($count == 2){
// add 2 items to 2-item set
} elseif ($count == 6) {
// add 4 items to 4-item set
}
if ($count < 6) $count++;
else $count = 0;
}