в вашем выражении foreach, i
принимает значения, хранящиеся в вашем массиве group_id - 8, 2, 2, 2
В ваших if
и выходных инструкциях вы используете это значение в качестве индекса для массивов
Итак, ваши if
операторы в итоге делают следующее:
if(group_id[8])...
if(group_id[2])...
if(group_id[2])...
if(group_id[2])...
Вы проверяете только элементы 8 и 2 в своих массивах.
Использование цикла for
для итерации по индексам массива