Php shuffle 2 уникальных номера

Я получил базу данных с пользователями и номерами.

Я создал случайный случай и попытался случайным образом дать пользователю номер, который сработал.

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

Основной код выглядит так:

    $numbers = range(0, $counts); // $counts are the number of users in my databse
    $numbers2 = range(0, $counts);
    shuffle($numbers);
    shuffle($numbers2);

    foreach($users as $user) {
        # Starts from 1 if higher than 52
        $uniqueRand  = (array_pop($numbers)+$currentWeek) % 52 + 1;
        $uniqueRand2 = (array_pop($numbers2)+$currentWeek) % 52 + 1;

        # tried something like this but did         
        while($uniqueRand == $uniqueRand2) {
            $numbers2 = range(0, $counts);
            shuffle($numbers2);
            $uniqueRand2 = (array_pop($numbers2)+$currentWeek) % 52+1;
        }

         ...# Storing in database
    }

Вот небольшой набросок приложения

Users      |       numbers
__________________________
Frank      |  14, 24
Tim        |  21, 43
Tom        |  52, 6
Hanz       |  8,  3
Benjamin   |  5,  1
West       |  7,  6
Thompson   |  4,  9
.....

Первая строка чисел 14,21,52... обозначает $numbers, а вторая строка - $numbers2. Я хочу создать уникальные случайные значения, которые не повторяются, но как проверить, не повторяется ли число $ в той же строке и по-прежнему уникальны по вертикали.

Так, например, что-то вроде этого будет неправильно:

Users      |       numbers
_________________________
Frank      |       14, 14

Примерно так тоже было бы неправильно:

Users      |       numbers
_________________________
Frank      |     14, 24
Tim        |     21, 14
Tom        |     14,  6
Hanz       |      8,  3
Benjamin   |      5,  14
West       |      14,  6
Thompson   |      4,  9

0 ответов

Другие вопросы по тегам