我需要根据当前周数旋转3个选项;即:
if($weekNumber == 42 || $weekNumber == 43){
$thisID = 1;
}
else if($weekNumber == 44 || $weekNumber == 45){
$thisID = 3;
}
else if($weekNumber == 46 || $weekNumber == 47){
$thisID = 2;
}
else if($weekNumber == 48 || $weekNumber == 49){
$thisID = 1;
}
我显然更喜欢手动操作!我已经考虑将3个ID放在一个数组中,并根据自X日期以来经过的周数进行选择,但我不确定如何实现它。
此外......翻滚需要在星期五的中午。我考虑过简单地增加上述计划中的周数,并对我们从第52周到第1周的时间进行额外调整,但必须有更合理的方法!
由于
答案 0 :(得分:1)
为什么不采取周数的四分之一?那么你只需要一个包含26个ID的目录,你可以实现直接查找:
$catalog=[1,2,3,4,5,6,3,4,2,5,6,7,4,4,7,9,5,8,8,9,2,4,5,7,6,8,9];
$thisID = $catalog[floor($weekNumber/2)];
答案 1 :(得分:1)
这应该有效:
$options = array(1,2,3);
$offset = 129600;
$twoWeeks = 1209600;
$idx = floor((time()-$offset)/$twoWeeks) % count($options);
$chosenOption = $options[$idx];
一些解释:
time()-$offset
我们将时间设置为星期五中午设定为我们时间计算的零点。