@VinnieBrigston

Как на PHP реализовать аналог селектора СSS 6n+2?

Добрый вечер!

Имеется массив элементов и некоторым из них нужно условием присваивать определенный класс. Т.е каждому шестому начиная со второго(6n+2) и каждому шестому начиная с седьмого(6n+7). В итоге получится вывод элементов в нужном ритме.

с использованием CSS и jQuery это бы всё делалось через nth-child(6n+2) и nth-child(6n+7). Но как подобное сделать через PHP ?
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 2
AppFA
@AppFA
Frontend developer at Yandex
Как-то так: используйте деление по модулю
$data = [1, 2, 3, 4, 5 , 6, 7, 8, 9, 10, 11, 12, 13];

for ($i = 0, $l = count($data); $i < $l; $i++) {
    if ($i >= 2 && $i % 6 == 0) {
        echo $i; // -> 6, 12
    }
}
Ответ написан
Комментировать
@WQP
function nthChild($multiplier, $addition, $max)
{
    $validInedexes = array();

    for ($n = 0; $n < $max; $n++)
    {
        $idx = $multiplier * $n + $addition;
        if ($idx > $max)
        {
            return $validInedexes;
        }
        $validInedexes[] = ($idx - 1);
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽