【问题标题】:Iterate through PHP array, but output slightly different depending on where in array you currently are遍历 PHP 数组,但输出略有不同,具体取决于您当前在数组中的位置
【发布时间】:2017-04-08 23:22:24
【问题描述】:

我有一个数组,我想遍历数组并输出内容。到目前为止一切顺利,没有问题。 但是,我想将此数组输出到一个列表(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>';
                }
            }

谁能给我一个提示或指出我正确的方向吗?

【问题讨论】:

    标签: php arrays modulo


    【解决方案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 中显示 spans

    【讨论】:

    • 啊,谢谢,我知道有一些功能我忘记了:-D
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 2013-12-22
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多