Php 日历周范围

Php Calender Week Range

我想连接一个 php 范围,也就是说, 到目前为止代码看起来像这样:

$var1 = $date->format('W');

if($var2 > 52) {

    $var2 = $var2 % 52;

}

    $numbers = range($var1,$var2);

    shuffle($numbers);

    foreach($users as $user) {

        $uniqueRand = array_pop($numbers);
        ...
    }

所以我想给数据库中的用户一个随机数/日历周, 在当前日历周和当前日历周 +15 之间。

我正在检查 var2 的日历周是否大于 52,如果它更高,则日历周从 1 开始,在我的情况下,日历周是从 43 - 6。

现在的问题是范围从 43 到 6,但我希望范围从 43 到 52 而不是从 1 到 6,有没有人有解决这个问题的好方法。

你想的太复杂了。让你的随机范围 运行 只是一个简单的序列(在这种情况下,从 0 到 14),然后做模数:

$var1 = $date->format('W');
$numbers = range(0,14);
shuffle($numbers);
foreach($users as $user) {
    $uniqueRand = (array_pop($numbers)+$var1) % 52 + 1;
    ...
}