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