PHP 在另一个 for 循环中再次启动循环


PHP start loop again within another for loop

这是我的简化代码(SQL查询是为了简化)

$prizes = array('1', '2', '3', '5', '7');
// Select only 10 users for prizes
for ($i = 0; $i <= 10; ++$i)
{
    // Pick a random user
    echo rand(1, 1000);
}

第一个问题是我看不出如何将循环包含在已经存在的 for 循环中,并且由于只有五个奖品,我需要为其余五个用户重新启动数组。我需要在用户下方的数组中包含定义的奖品。

有什么指示吗?

谢谢

$prizes = array('1', '2', '3', '5', '7');
// make 5 draws
for ($k = 0; $k <= 5; ++$k){
// Select only 10 users for prizes
    for ($i = 0; $i <= 10; ++$i)
    {
        // Pick a random user
        echo rand(1, 1000);
    }
    echo $prizes[$k];
}

使用数组洗牌并取前 5 个。

http://php.net/manual/en/function.shuffle.php

或http://php.net/manual/en/function.array-rand.php

但在评论中指出,它不是随机的

$prizes = array('1', '2', '3', '5', '7');
shuffle($prizes);
// Select only 10 users for prizes
for ($i = 0; $i <= 10; ++$i)
    {
    // these are your winners
    }