php - 每 4 个 div 包裹在一个 div 中
问题描述
有这样一个循环,我想用 tabs__cat-img 类获得 4 个 div 重复,这 4 个 div 应该变成一个带有 tabs__ cat 类的 div。我将不胜感激任何帮助。
<?php
if($children_categories) :
foreach($children_categories as $children_cat) :
?>
<div class="tabs__cat">
<div class="tabs__cat-img">
<a href="">
<img src="" alt="">
</a>
</div>
</div>
<?php
endforeach;
endif;
?>
输出应如下所示:
<div class="tabs__cat">
<div class="tabs__cat-img">
<a href="">
<img src="" alt="">
</a>
</div>
<div class="tabs__cat-img">
<a href="">
<img src="" alt="">
</a>
</div>
<div class="tabs__cat-img">
<a href="">
<img src="" alt="">
</a>
</div>
<div class="tabs__cat-img">
<a href="">
<img src="" alt="">
</a>
</div>
</div>
<div class="tabs__cat"> ...
解决方案
我会这样做:
<?php
// Creates a sample array
$children_categories = array_fill(0, 10, 'Sample');
if($children_categories) :
$total_categories = count($children_categories) - 1;
foreach($children_categories as $id=>$children_cat) :
// True for 0 -> Div will be created on first and then every 4th element
if( $id % 4 === 0 ) {
echo '<div class="tabs__cat">';
}
// or, a bit shorter:
// echo $id % 4 === 0 ? '<div class="tabs__cat">' : '';
?>
<div class="tabs__cat-img">
<a href="">
<img src="" alt="">
</a>
</div>
<?php
// True on 3 -> closing Div will be created before 4th and then every 4th element
// Or Case: Make sure to print closing div on very last element
if( $id % 4 === 3 || $id === $total_categories ) {
echo '</div>';
}
endforeach;
endif;
?>
推荐阅读
- python - 使用“while”指示总和的代码错误
- r - dplyr 管道数据 - `.` 和 `.x` 之间的区别
- css - Normalize.css 未完全添加重置以响应应用程序
- c++ - C++:只有 .h 文件,而不是 .cpp 文件,需要包含在 #include 指令中,但为什么/如何?.h 文件总是只有声明吗?
- amazon-web-services - Aws Lambda 调用了两次但没有错误
- c - Typedef to a double array of ints
- wordpress - 如何按某些类别显示我的所有帖子?
- html - 为什么新的自定义类优先于与先前加载的文件命名不同的类?
- jquery - 如何使用 JavaScript 函数验证字段?
- html - Flexbox - 在多列中对齐项目基线