Heim >Backend-Entwicklung >PHP-Tutorial >Wie lassen sich eindeutige Zufallszahlen innerhalb eines bestimmten Bereichs effizient generieren?

Wie lassen sich eindeutige Zufallszahlen innerhalb eines bestimmten Bereichs effizient generieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-05 04:55:10251Durchsuche

How to Efficiently Generate Unique Random Numbers Within a Specific Range?

Eindeutige Zufallszahlen innerhalb eines Bereichs generieren

Frage: Wie kann ich innerhalb eines bestimmten Bereichs effizient eindeutige Zufallszahlen generieren? Reichweite?

Antwort:

Die Der bereitgestellte Code generiert Zufallszahlen innerhalb eines Bereichs, garantiert jedoch möglicherweise keine Eindeutigkeit. Berücksichtigen Sie für eine optimierte Lösung die folgenden Ansätze:

1. Array mit zufälliger Reihenfolge:

  • Generieren Sie ein Array von Zahlen innerhalb des Bereichs (Bereich(min, max)).
  • Mischen Sie das Array mit shuffle().
  • Dadurch wird eine zufällige Reihenfolge von Zahlen erstellt, die zur Einzigartigkeit auf die gewünschte Menge zugeschnitten werden kann Ergebnisse.

2. Eingepackte Funktion:

  • Kapseln Sie die Array-Shuffling-Technik in einer Funktion:
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
  • Beispielverwendung:
print_r(UniqueRandomNumbersWithinRange(0, 25, 5));

Ergebnis:

An Array der angegebenen Menge mit eindeutigen Zufallszahlen innerhalb des angegebenen Bereichs.

Das obige ist der detaillierte Inhalt vonWie lassen sich eindeutige Zufallszahlen innerhalb eines bestimmten Bereichs effizient generieren?. 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