function generateUniqueRandomNumbers($N, $min, $max) {
$uniqueNumbers = [];
if ($N > ($max - $min + 1)) {
echo "Not enough unique numbers in the given range.";
return;
}
while (count($uniqueNumbers) < $N) {
$randomNumber = rand($min, $max);
if (!in_array($randomNumber, $uniqueNumbers)) {
$uniqueNumbers[] = $randomNumber;
}
}
return $uniqueNumbers;
}
$N = 8;
$uniqueRandomNumbers = generateUniqueRandomNumbers($N, 1, 20);
print_r($uniqueRandomNumbers);
/*
run:
Array
(
[0] => 16
[1] => 14
[2] => 17
[3] => 3
[4] => 20
[5] => 5
[6] => 4
[7] => 1
)
*/