What are some best practices for ensuring that generated random numbers in PHP are unique and do not repeat?

When generating random numbers in PHP, it is important to ensure that the numbers are unique and do not repeat. One way to achieve this is by using an array to store the generated numbers and checking if a newly generated number already exists in the array before using it. If the number is a duplicate, generate a new one until a unique number is found.

$random_numbers = [];
$min = 1;
$max = 100;
$unique_number = null;

do {
    $random_number = mt_rand($min, $max);
    
    if (!in_array($random_number, $random_numbers)) {
        $unique_number = $random_number;
        $random_numbers[] = $random_number;
    }
} while ($unique_number === null);

echo $unique_number;