我试图用PHP包装一些div周围的图像,以显示每个div最多8个图像。 我使用自定义字段WordPress插件来提取团队的图像,但需要将它们包装在div中。我有部分工作,但它没有显示余数的div。我不确定这是不是最好的方法,但这是我的代码。
function team($i,$t){
$values = get_field('team_member'.$i);
if($values["url"]){
$answer = $i / 8;
if(is_int($answer)){
echo '<div class="team'.$i / 8.'">'. "\r\n";
echo $t;
$t = '';
echo '</div>'. "\r\n";
}
$t .='<a href="'.$values["url"].'" alt="'.$values["alt"].' Thumbnail" >'. "\r\n";
$t .='<img src="'.$values["sizes"]["thumbnail"].'" alt="'.$values["alt"].'" />'. "\r\n";
$t .='</a>'. "\r\n";
$i = $i+1;
team($i,$t);
}
}
team(1,'');
我想得到如下的结果。
<div id="team">
<div id="team1">
<img 1>
<img 2>
..
<img 7>
<img 8>
</div>
<div id="team2">
<img 1>
<img 2>
..
<img 7>
<img 8>
</div>
<div id="team3">
<img 1>
<img 2>
..
<img 7>
<img 8>
</div>
<div id="team4">
<img 1>
<img 2>
<img 3>
</div>
</div>
答案 0 :(得分:1)
您的方法令人困惑且难以阅读。看看这个例子,然后从那里开始。
$images = array('bear.jpg','cat.jpg','owl.jpg','dog.jpg','bird.jpg');
$itemsPerDiv = 3;
$count = 0;
echo '<div class="animal-row">';
foreach($images as $img)
{
if ($count % $itemsPerDiv == 0 && $count != 0)
{
echo '</div><div class="animal-row">';
}
echo '<img src="'.$img.'">';
$count++;
}
echo '</div>';
这将输出
<div class="animal-row">
<img src="bear.jpg">
<img src="cat.jpg">
<img src="owl.jpg">
</div>
<div class="animal-row">
<img src="dog.jpg">
<img src="bird.jpg">
</div>
如果您需要解释这是如何工作的,请告诉我。我认为你的问题是你使用除法运算符而不是MOD,这在这种情况下更合适,因为它决定了你错过的余数。