遍历 PHP 数组,但输出略有不同,具体取决于您当前在数组中的位置

Iterate through PHP array, but output slightly different depending on where in array you currently are

我有一个数组,我想遍历数组并输出内容。到目前为止一切顺利,没问题。 但是,我想将这个数组输出到一个列表中(HTML),但只为数组中的每5个项目输出一个新的<li>。所以我想要的结果是这样的:

<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>';
                }
            }

有人能给我提示或给我指出正确的方向吗?

请阅读 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 中显示跨度