Это мой упрощенный код (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);
}
Первая проблема заключается в том, что я не вижу, как включить цикл в уже существующий цикл, и, поскольку есть только пять призов, мне нужно снова запустить массив для остальных пяти пользователей. Мне нужно включить призы, определенные в массиве под пользователем.
Любые указатели, как?
благодаря
$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];
}
используйте массив shuffle и возьмите первые 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
}
$prizes = array('1', '2', '3', '5', '7'); foreach($prizes as $prize) { echo rand(1, 1000); }