Сгенерировать неповторяющиеся случайные числа PHP

Допустим, нужно сгенерировать три неповторяющихся числа от 0 до 9

Одно число можно сгенерировать с помощью random_int(0,9)

To сгенерировать ещё три неповторяющихся числа нужно добавлять каждое уже сгенерированное в массив и потом заставлять random_int работать пока не получится число не из массива

<?php $existing_array = [] while( (in_array( $new_number1 = random_int(0,9)), $existing_array ) ); array_push($existing_array, $new_number); while( (in_array( $new_number2 = random_int(0,9)), $existing_array ) ); array_push($existing_array, $new_number); while( (in_array( $new_number3 = random_int(0,9)), $existing_array ) ); array_push($existing_array, $new_number);

В результате получится три переменные $new_number1, $new_number2 , $new_number3, со значениями от 0 до 9 без повторов.

Если нужно сгенерировать большое количество случайных чисел нужно воспользоваться циклом for

Допустим, нужно десять случайных чисел от 0 до 20 без повторов.

<?php $existing = [] for ($i = 0; $i < 9; $i++) { while( (in_array( $number = random_int(0,20)), $existing ) ); array_push($existing_array, $new_number); } ?>

Все эти числа хранятся в массиве $existing

To получить их нужно выполнить ещё один цикл

for ($i = 0; $i < 9; $i++) { echo $existing[$i]; echo '<br>';

Результат работы такого генератора вы можете увидеть ниже - обновите страницу (F5 или CTRL + F5) чтобы повторить генерацию и убедиться, что повторов нет.

19
4
0
15
16
1
12
8
10

Статьи о PHP
Development на PHP
Массивы в PHP
Как отобразить время различных часовых поясов PHP
Как вставить переменную в ссылку PHP
json_decode PHP
Как получить ширину экрана с помощью PHP
Вызов функции из другого файла
Premature end of chunk coded message body: closing chunk expected
Узнать свой HTTP_USER_AGENT
Сравнить две даты
Классы в PHP 8
Аутентификация и авторизация в PHP 8
Другие статьи
Блокировка PHP сессий
Установка PHP-фреймворков
Установка Yii
Установка Symfony
Установка Laravel
Профилирование сайтов на PHP
XDebug - дебаг и профилирование кода php (profiling)
Share in social media: