Я пытаюсь написать функцию, которая будет циклически проходить по массиву и выполнять задачу в зависимости от его значения.
Например:
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)
, так что я могу вывести необходимое количество открывающих и закрывающих дивов.
Какие-либо предложения?
Попробуй это (работает пример)
function cycle($cycles, $i) {
$j=$i%count($cycles);
if ($cycles[$j] !== '') {
echo $cycles[$j];
}
}
Других решений пока нет …