Heim >Backend-Entwicklung >PHP-Tutorial >Wie generiert man in PHP eindeutige Zufallszahlen innerhalb eines bestimmten Bereichs?

Wie generiert man in PHP eindeutige Zufallszahlen innerhalb eines bestimmten Bereichs?

Susan Sarandon
Susan SarandonOriginal
2024-12-06 11:17:11967Durchsuche

How to Generate Unique Random Numbers Within a Specific Range in PHP?

Eindeutige Zufallszahlen innerhalb eines Bereichs generieren

Das Erstellen einer Funktion zum Generieren eindeutiger Zufallszahlen innerhalb eines bestimmten Bereichs ist eine häufige Aufgabe in der Programmierung. Hier ist eine optimiertere Alternative zum angegebenen Code:

function uniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}

Diese Funktion benötigt drei Parameter:

  • $min: Der Mindestwert des Bereichs
  • $ max: Der Maximalwert des Bereichs
  • $quantity: Die Anzahl der eindeutigen Zufallszahlen bis generieren

Es funktioniert, indem ein Array erstellt wird, das alle Zahlen im angegebenen Bereich enthält, und das Array dann gemischt wird. Die Funktion array_slice() wird dann verwendet, um die angegebene Anzahl eindeutiger Zufallszahlen aus dem gemischten Array zu extrahieren.

Beispiel:

$numbers = uniqueRandomNumbersWithinRange(1, 20, 5);
print_r($numbers);

Dadurch wird ein Array ausgegeben aus 5 eindeutigen Zufallszahlen im Bereich von 1 bis 20, zum Beispiel:

Array
(
    [0] => 6
    [1] => 17
    [2] => 14
    [3] => 19
    [4] => 12
)

Das obige ist der detaillierte Inhalt vonWie generiert man in PHP eindeutige Zufallszahlen innerhalb eines bestimmten Bereichs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn