gpt4 book ai didi

php - Foreach 循环 : split elements in groups of five and six

转载 作者:行者123 更新时间:2023-11-28 03:08:27 25 4
gpt4 key购买 nike

我正在使用 foreach 循环来输出从 Instagram API 获取的图像。我想将输出的图像分成四个五个组,除此之外还向每个组添加一个div元素,除了最后一个应该添加2个div的元素,所以我得到以下结构:

<div class="group>
<div class="extra"> </div>
<img/>
<img/>
<img/>
<img/>
</div> <!-- Close group of 5 -->
<div class="group>
<div class="extra"> </div>
<img/>
<img/>
<img/>
<img/>
<img/>
</div> <!-- Close group of 6 -->
<div class="group>
<div class="extra"> </div>
<img/>
<img/>
<img/>
<div class="extra"> </div>
</div> <!-- Close group of 5 -->

通过在循环中使用模数,我设法将元素分组,每组中的项目数正确,但是当我尝试向每个组添加额外的 div 时,它会破坏计数而且我不再将正确数量的元素组合在一起。我目前用来打印图像的代码(总共 12 张):

  <div class="group"> <!-- Open group-wrapper -->

$count = 0;

foreach($decoded_results['data'] as $item) {

if ($count % 11 == 0 || $count % 11 == 5 ) {
echo '<div class="extra"> </div>';
echo '</div> <div class="group">';
}

echo '<a target="_blank" href=' .$link_url. '>';
echo '<div class="img-wrapper">';
echo '<img src="'.$image_link.'" /> </div> </a>';

$count++;
}

有什么建议可以实现吗?

最佳答案

这足以为您指明正确的方向:

<div class='group'>
<div class='extra'></div>
<?php
$i = 1;
$j = 1;
$step = 4;
$count = count($decoded_results['data']);
foreach($decoded_results['data'] as $k => $v) {
?>
<a target='_blank' href='<?php echo $v;?>'>
<div class='img-wrapper'>
<img src='<?php echo $v;?>' />
</div>
</a>
<?php
if (($j % $step) == 0 && $i < $count) {
?>
</div>
<div class='group'>
<div class="extra"></div>
<?php
$step = ($step == 4) ? 5: 4;
$j = 0;
}
$j++;
$i++;
}
?>
<div class='extra'></div>
</div>

附带说明一下,您应该知道在 a(内联元素)中包含 div( block 元素)不完全是语义 HTML,但仍然广泛使用如今被接受。我个人倾向于避免这种情况,可以通过使用 CSS 来实现。

关于php - Foreach 循环 : split elements in groups of five and six,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31598676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com