-3

20個の要素の配列があり、配列内の各要素は画像を保持しています。画像サイズが変わるように作っています。3つの画像は中サイズで、次の4つは小さく、7つ目は大きい必要があります。パターンは配列の最後まで続く必要があります。現在、7つおきの画像が大きく、残りが小さいように動作しています。ミディアムイメージを設定するのに最適な方法がわかりません。だから:Array []

[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 に答える