如何在div中包装多个图像?

时间:2013-09-08 12:55:44

标签: php foreach

我试图用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>

1 个答案:

答案 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,这在这种情况下更合适,因为它决定了你错过的余数。