这是我的简化代码(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
}