Итерация по массиву PHP, но вывод немного отличается в зависимости от того, где в массиве вы находитесь

У меня есть массив, где я хочу перебрать массив и вывести содержимое. Пока все хорошо, нет проблем.
Однако я хочу вывести этот массив в список (HTML), но вывести только новый <li> за каждые 5 элементов в массиве. Итак, результат, который я хочу, это:

<li><span>1</span><span>2</span><span>3</span><span>4</span><span>5</span></li> и так далее, пока массив не будет сделан.

Я, наверное, обдумываю это, но в настоящее время у меня есть это, которое не работает должным образом (я думал использовать модуль по выводу <li></li> когда нужно, но … нет.

$filetypes = allowedMimeAndExtensions('extension','mime');
for ($c = 0; $c < count($filetypes); $c++) {
if ($c == 0 || $c % 5 == 0) {
echo '<li>';
}
list ($key, $value) = each($filetypes);
echo '<span class="helper" title="'.$value.'">'.$key.'</span>';
if (($c == 5) || ($c % 5 == 0)) {
echo '</li>';
}
}

Кто-нибудь может дать мне подсказку или указать мне правильное направление здесь?

1

Решение

Пожалуйста, прочитайте о array_chunk Функция PHP

Он разбивает длинный массив на многомерный массив, который содержит куски ввода. Например.

$input = range(1, 10); // [1,2,3,4,5,6,7,8,9,10]
$chunked = array_chunk($input, 4); // [[1,2,3,4].[5,6,7,8],[9,10]];

затем используйте вложенный foreach для отображения промежутков в вашем li

4

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

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

По вопросам рекламы [email protected]