Повторяйте неопределенности массива последовательно, пока он не совпадет с указанным значением

Я пытаюсь написать функцию, которая будет циклически проходить по массиву и выполнять задачу в зависимости от его значения.

Например:

foreach ($content as $i => $c) {
cycle(array('<div class="row">', '', ''), $i)
$content;
cycle(array('', '', '</div>'), $i)
}

Функция:

function cycle($cycles, $i) {
if ($cycles[$i] !== '') {
echo $cycles[$i];
}
}

Это прекрасно работает, если длина (количество) массива, в который я передаю cycle() соответствует числу итераций forloop, где я вызываю функцию. Однако, если количество итераций больше, очевидно, я получаю ошибки.

Некоторые из вас, возможно, догадались, что я пытаюсь обернуть содержимое <div class="row"></div> на указанное количество итераций или циклов. Я не хочу использовать по модулю.

Я хочу cycle() функция, чтобы игнорировать пустые значения и выводить это значение, только если это не пустая строка или null,

В идеале, если мой массив слишком короткий, я хочу продолжать повторять его собственные индексы, начиная с 0, пока не совпадет число индексов $i,

Так что, если бы у меня был массив, такой как $arr = array(a,b,c,d); AMD и передать его моему cycle($arr) функция, и это выполняется в forloop 7 раз, я хочу как-то заполнить массив таким образом: array(a,b,c,d,a,b,c) , так что я могу вывести необходимое количество открывающих и закрывающих дивов.

Какие-либо предложения?

1

Решение

Попробуй это (работает пример)

function cycle($cycles, $i) {
$j=$i%count($cycles);
if ($cycles[$j] !== '') {
echo $cycles[$j];
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector