У меня есть цикл, как будто в каждой строке 4 элемента, я хочу добавить класс к элементам последней строки, поэтому мне нужно что-то вроде этого:
switch( $count ){
case 8:
$items = [5, 6, 7, 8];
break;
case 7:
$items = [5, 6, 7];
break;
case 6:
$items = [5, 6];
break;
case 5:
$items = [5];
break;
case 9:
$items = [9];
break;
case 10:
$items = [9, 10];
break;
case 11:
$items = [9, 10, 11];
break;
case 12:
$items = [9, 10, 11, 12];
break;
case 13:
$items = [13];
break;
// And so on...
default:
if( $count <= 4 ){
$items = range(1, $count);
}
break;
}
Я думаю, использование оператора switch
не является правильным способом сделать это, кроме того, оно работает только для $count
чисел, меньших 14, и если бы мне пришлось писать все числа одно за другим, если я хочу, чтобы это работало независимо от значения $count
.
Чтобы прояснить немного больше:
У нас есть набор элементов (html-элементов), которых по 4 в каждой строке, и мы хотим добавить класс css к каждому элементу в последней строке,
поэтому, если общее количество элементов равно 8, 5-й, 6-й, 7-й и 8-й элементы находятся в последнем ряду.
См. Эти примеры
1 2 3 4
5 6 7 8 This is the last row, so $items equals [5, 6, 7, 8]
OR
1 2 3 4
5 6 This is also the last row so $items equals [5, 6]
OR
1 2 3 4
5 6 7 8
9 10 11 This is last row too so $items equals [9, 10, 11]
OR
1 2 3 4 We have only 4 items , so there is only one row so $items equals [1, 2, 3, 4]