php在while语句中查询if语句


php query if statement within while statement

我有以下代码,使用以下变量集numberofColumns = 2numberArticles = 10,将为文章创建2列,文章顺序是从左到右(第1列到第2列)。

我只是想在每两篇文章之后添加一些代码</div><div class="whatever">

任何帮助都将不胜感激。

        if ($numberColumns >= 1) {
            $columnArticles = intval(($numberArticles + $numberK2Articles) / $numberColumns);
        }
        $columns = array();
        for($columnIndex = 0; $columnIndex < $numberColumns; $columnIndex++) {
            $columns[$columnIndex] = '<div class="column col-' . ($columnIndex + 1) . '">';
        }
        $articleIndex = 0;
        while($articleIndex < count($articles)) {
            foreach ($columns as $columnIndex => $column) {
                if (isset($articles[$articleIndex])) {
                    $columns[$columnIndex] .= modCTRandomArticleHelper::getArticleHtml($params, $articles, $articleIndex);
                    $articleIndex++;
                }
            }
        }
        for($columnIndex = 0; $columnIndex < $numberColumns; $columnIndex++) {
            echo $columns[$columnIndex] . '</div>';
        }

我一直使用模数运算符(%)来确定我的当前索引是否为n行之一$索引%2每隔一行返回0$索引%3每三行返回0,依此类推。http://php.net/manual/en/internals2.opcodes.mod.php

该页面上的第一条评论表明,当您只需要确定奇数或偶数时,按位操作更有效。因此,$index&1(奇数)是一个更快的替代$索引%2(奇数)。