How to generate an array with unique random numbers in a specified range using PHP

1 Answer

0 votes
function generateUniqueRandomNumbersArray($total_numbers, $max_range) {
    $arr = [];
    
    while (count($arr) < $total_numbers) {
        $number = rand(1, $max_range);
        if (!in_array($number, $arr)) {
            $arr[] = $number;
        }
    }
    
    return $arr;
}

$arr = generateUniqueRandomNumbersArray(15, 23);

print_r($arr);

 

 
/*
run:
 
Array
(
    [0] => 16
    [1] => 22
    [2] => 9
    [3] => 8
    [4] => 10
    [5] => 20
    [6] => 17
    [7] => 21
    [8] => 4
    [9] => 23
    [10] => 13
    [11] => 14
    [12] => 18
    [13] => 19
    [14] => 12
)
  
*/

 



answered Mar 2, 2019 by avibootz
edited Mar 23, 2024 by avibootz
...