What are some potential solutions for ensuring that no value is chosen twice when generating random numbers in PHP?

One potential solution is to use an array to keep track of the values that have already been generated. Before generating a new random number, check if it already exists in the array. If it does, generate a new number until a unique one is found. This ensures that no value is chosen twice.

$generatedNumbers = [];

while (count($generatedNumbers) < $desiredNumberOfValues) {
    $randomNumber = mt_rand($min, $max);

    if (!in_array($randomNumber, $generatedNumbers)) {
        $generatedNumbers[] = $randomNumber;
    }
}

print_r($generatedNumbers);