2016-11-24 10 views
1

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

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

Я, вероятно, overthinking, но в данный момент у меня есть это, который не работает должным образом (я думал, используя по модулю для вывода <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>'; 
       } 
      } 

Anyone в состоянии дать мне подсказку или мне точку в правильном направлении здесь?

ответ

4

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

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

$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]]; 

затем использовать вложенный Еогеасп для отображения пролетов в вашем Ли

+0

Ах, спасибо, я знал, что есть некоторая функция я забыл :-D – junkfoodjunkie