如何每2周显示一张不同的图像?我有8张图像可供显示,就像这样。 第1周image1 第2周image1 第3周image2 第4周image2 ... 第17周image1
<?php
$check=date('W');
$img1 = array ('1','2','11','12','21','22','31','32','41','42','51','52');
$img2 = array ('3','4','13','14','23','24','33','32','43','44');
$img3 = array ('5','6','15','16','25','26','35','36','45','46');
$img4 = array ('7','8','17','18','27','28','37','38','47','48');
$img5 = array ('9','10','19','20','29','30','39','40','49','50');
if (in_array($check,$img1,true)){
echo "show img1";
}
if (in_array($check,$img2,true)){
echo "show img2";
}
if (in_array($check,$img3,true)){
echo "show img3";
}
if (in_arrat($check,$img4,true)){
echo "show img4";
}
if (in_array($check,$img5,true)){
echo "show img5";
}
?>
这是对的吗?可以改进吗?
答案 0 :(得分:2)
您可以使用date功能中的W
参数。它给你一周的数量 - 使用mod(%),你可以检查它是否与图像的数量分开并显示它
答案 1 :(得分:2)
W
为1-53)。示例代码:
$week = date('W');
$changes = (int)(($week-1)/2);
$image = $changes % 8 + 1;
printf("Week: %d, Images changed: %d, Current Image: %d\n"
, $week, $changes, $image);
答案 2 :(得分:1)
将图像路径保存到文件中,每次调用该函数时检查上次修改的文件,如果上次修改了&gt; 2周后,打开文件,将图像移到底部,保存文件。
答案 3 :(得分:1)
查看PHP日期功能。它将为您提供一个星期编号,您可以在逻辑中使用它来查找要显示的图片。