PHP снова запускает цикл внутри другого цикла for

0

Это мой упрощенный код (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);
}

Первая проблема заключается в том, что я не вижу, как включить цикл в уже существующий цикл, и, поскольку есть только пять призов, мне нужно снова запустить массив для остальных пяти пользователей. Мне нужно включить призы, определенные в массиве под пользователем.

Любые указатели, как?

благодаря

  • 0
    $prizes = array('1', '2', '3', '5', '7'); foreach($prizes as $prize) { echo rand(1, 1000); }
  • 0
    Ваш вопрос немного расплывчат, не могли бы вы объяснить, чего именно вы хотите достичь? Вы хотите выдать одну и ту же цену дважды или как?
Показать ещё 1 комментарий
Теги:
arrays
loops

2 ответа

0
Лучший ответ
$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];
}
  • 0
    Как использовать определенные призы в $ призах, а не просто переходить от 1-5
  • 0
    @AnotherUser ты имеешь в виду, как это ??
Показать ещё 1 комментарий
0

используйте массив 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
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню