我有11条新闻,所以我想展示一下
的其余部分
我尝试过这样做,但没有成功,它显示了第一列和第二列,其余的显示在列外。
$rows = array(
'Title1',
'Title2',
'Title3',
'Title4',
'Title5',
'Title6',
'Title7',
'Title8',
'Title9',
'Title10',
'Title11',
);
$total_rows = count($rows);
$total_cols = $total_rows - 1;// remove first one for the first column
$left_column = ceil($total_cols / 2);
$right_column = $total_cols - $left_column;
$i = 0;
echo "<div class='row'>";
foreach ($rows as $row) {
$i++;
if ($i == 1) {
$class = "primary_post";
echo "<div class='col-md-4 main'>";
} elseif ($i <= $left_column) {
$class = "other_post";
echo "<div class='col-md-4 left'>";
} elseif ($i == $right_column) {
$class = "other_post";
echo "<div class='col-md-4 right'>";
} else {
$class = "other_post";
}
echo "<div class='card {$class}'>$i</div>";
if ($i == 1 || $i == $left_column || $i == $right_column) {
echo "</div>";
} else {
echo "";
}
}
echo "</div>";
发布于 2020-12-31 18:51:22
最后一个echo "</div>";应该在FOR循环中,而不是在它的外部。
此外,还可以将数组分割成块;
$firstColumn = array_splice($rows,0,1);
$secondColumn = array_splice($rows,0,5);Rest在$rows变量中。
因此,不需要在for循环中处理ifs,您可以在所需的HTML对象中使用3个不同的循环和列表项。
https://stackoverflow.com/questions/65523796
复制相似问题