Как на php вывести рандомно числа,не повторяющие друг друга?
дано 100 чисел,необходимо вывести 10 случайных чисел из 100 при условии чтобы числа не повторялись
Ответы (2 шт):
Автор решения: Сергей Мишин
→ Ссылка
- Перетасуй числа в исходном массиве по любому алгоритму тасования (например тасование фишера — йетса)
- Возьми 10 чисел начиная с произвольного индекса, хоть с самого начала
Тасование:
for($i = 0; $i < sizeof($arr); ++$i) {
$r = rand(0, $i);
$tmp = $arr[$i];
$arr[$i] = $arr[$r];
$arr[$r] = $tmp;
}
Автор решения: teran
→ Ссылка
как-нить так можно
$nums = range(1,100);
shuffle($nums);
$result = array_slice($nums, 0, 10);
print_r($result);