-3

我有一个包含 20 个元素的数组,数组中的每个元素都包含一个图像。我正在制作它,以便图像大小交替。三个图像应该是中等大小,然后接下来的四个是小,第七个是大的。模式应该一直持续到数组的末尾。现在我让它工作,所以每 7 个图像都很大,其余的都很小。我不确定设置中等图像的最佳方法是什么。所以:数组[]

[0]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]

我希望 [0]、[1]、[2]、[8]、[9]、[10]、[15]、[16]、[17] 都是中等大小的。

下面是我的代码。

        foreach ($images as $image ) {
                $img_size = "small";
                if($i !==0 && $i % 7 == 0) {
                    $img_size = "large";
                }else{
                    $img_size = $img_size;
                }
        }
4

2 回答 2

0

尝试这个:

$i = 0;
$count = count($a)-1; // get the maximum index of array $a

while ($i <= $count) {

    echo $a[i];
    if ($i+1 <= $count) echo $a[$i+1];
    if ($i+2 <= $count) echo $a[$i+2];

    $i+=8;
} // while
于 2013-03-10T18:09:09.227 回答
0

一些 if/else 逻辑:

<?php

$m = 3;
$s = 7;
$l = 8;

$counter = 1;
for($i=0;$i<=20;$i++){
    if($counter <= $m){
        $img_size = "medium";
    }elseif($counter <= $s){
        $img_size = "small";
    }else{
        $img_size = "large";
    }
    if($counter == $l) $counter = 0;

    $counter++;
    echo "i = $i and img_size = $img_size <br>";
}

?>
于 2013-03-10T18:57:47.160 回答