我有一个包含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;
}
}
答案 0 :(得分: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
答案 1 :(得分: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>";
}
?>