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

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

Barbara Streisand
Freigeben: 2024-12-14 02:05:09
Original
262 Leute haben es durchsucht

How Can I Efficiently Generate Unique Random Numbers Within a Specific Range?

Generieren eindeutiger Zufallszahlen innerhalb eines Bereichs: Optimierter Ansatz

Um eindeutige Zufallszahlen innerhalb eines angegebenen Bereichs zu generieren, ziehen Sie die folgenden verbesserten Methoden in Betracht:

Array mit gemischter Reihenfolge:

  • Erstellen Sie ein Array mit Zahlen darin den gewünschten Bereich.
  • Verwenden Sie shuffle(), um die Reihenfolge der Array-Elemente zufällig zu ändern.
$numbers = range(1, 20);
shuffle($numbers);
Nach dem Login kopieren

Umschlossene Funktion:

  • Definieren Sie eine Funktion, die die Logik zum Generieren einer angegebenen Anzahl eindeutiger Zufallszahlen innerhalb eines kapselt Bereich.
  • Erstellen Sie innerhalb der Funktion ein Array mit dem gewünschten Bereich, mischen Sie seine Reihenfolge und geben Sie einen Ausschnitt des Arrays zurück, der die gewünschte Anzahl von Elementen enthält.
function UniqueRandomNumbersWithinRange($min, $max, $quantity) {
    $numbers = range($min, $max);
    shuffle($numbers);
    return array_slice($numbers, 0, $quantity);
}
Nach dem Login kopieren

Beispielverwendung:

$result = UniqueRandomNumbersWithinRange(0, 25, 5);
Nach dem Login kopieren

Dadurch wird ein Array von 5 eindeutigen, zufällig geordneten Zahlen innerhalb des Bereichs generiert und zurückgegeben 0-25.

Probenergebnis:

$result = [14, 16, 17, 20, 1]
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage