Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich gewichtete Zufallswerte in PHP generieren?

Wie kann ich gewichtete Zufallswerte in PHP generieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 21:52:12523Durchsuche

How Can I Generate Weighted Random Values in PHP?

Gewichtete Zufallswerte in PHP erstellen

Beim Generieren von Zufallswerten kann es wünschenswert sein, unterschiedlichen Ergebnissen unterschiedliche Wahrscheinlichkeiten zuzuweisen und so eine gewichtete zu erstellen Verteilung. PHP bietet mit seiner Funktion getRandomWeightedElement() eine Lösung, um dies zu erreichen. Diese Funktion verwendet assoziative Arrays, um die relativen Chancen der Auswahl bestimmter Werte zu definieren.

Um beispielsweise eine Zufallszahl zwischen 1 und 10 mit einer höheren Wahrscheinlichkeit von 3, 4 und 5 zu generieren, kann man Folgendes verwenden WeightedValues-Array:

['1' => 1, '2' => 1, '3' => 5, '4' => 5, '5' => 5, '6' => 1, '7' => 1, '8' => 1, '9' => 1, '10' => 1]

In diesem Array stellen die Werte die relativen Wahrscheinlichkeiten jeder ausgewählten Zahl dar. Da 3, 4 und 5 eine Wahrscheinlichkeit von 5 haben, werden sie zusammen häufiger auftreten.

Um die Funktion getRandomWeightedElement() zu verwenden, übergeben Sie ihr einfach das Array „weightedValues“ als Argument:

$randomNumber = getRandomWeightedElement($weightedValues);

Das Ergebnis ist eine zufällig ausgewählte Zahl zwischen 1 und 10, gewichtet gemäß den in den $weightedValues ​​definierten Wahrscheinlichkeiten Array.

Das obige ist der detaillierte Inhalt vonWie kann ich gewichtete Zufallswerte in PHP 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