Периодически возникает необходимость генерации случайных чисел у любого разработчика. Нет ничего проще встроенной функции rand(0,100), которая прекрасно работает. Однако если усложнить задачу…
Есть «коробка» с пронумерованными фишками, например от 0 до 100. И вы их извлекаете из нее, естественно их количество уменьшается. Требуется составить массив для заданного наперед количества фишек в коробке.
Алгоритм решения:
- в цикле генерируем число и добавляем его в массив
- удаляем дубли массива
- проверяем число уникальных элементов массива, если их меньше заданного числа «фишек в коробке» повторяем генерацию
- переписываем ключи от 0 до заданного числа
Генерация случайного числа на PHP:
/*
Генерируем случайные числа от 0 до указанного
$max и складываем в массив(индекс от 0 до $max-1)
*/
$max = 1200;
while (count($out) < $max) {
for ($i=0; $i < ($max-1); $i++) {
$list[] = rand( 0,($max-1));
}
// удаляем дубли
$out = array_unique($list);
}
// переписываем ключи массива
$key = 0;
foreach ($out as $value) {
$result[$key] = $value;
$key++;
} Я уже 3 года торгую фьючерсами на Bybit и приглашаю тебя присоединиться и получить до $30 000 бонусами плюс скидки на комиссии:
Зарегистрироваться на Bybit
Чем больше депозит – тем больше бонусов. Также моим рефералам доступны торговые боты для трейдинга по самым выгодным тарифам. 
