我有以下代码,使用以下变量集numberofColumns = 2
和numberArticles = 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(奇数)。