phpbar.de logo

Mailinglisten-Archive

[php] Nicht gleichverteiltes array_rand()

[php] Nicht gleichverteiltes array_rand()

Andreas Muck ml_(at)_chapulin.de
12 Nov 2000 21:12:28 +0100


Hallo,

ich möchte zufällig ein Element aus einem Array auswählen, aber nicht
gleichverteilt, sondern mit einer vorgegebener Wahrscheinlichkeit, die
sich aus Gewichtungen der einzelnen Elemente ergibt.

Zum Beispiel: gegeben 3 Elemente, mit Gewichtungen 1, 2 und 3:

"a" -> 1
"b" -> 2
"c" -> 3

Nun möchte ich, daß "a" mit der Wahrscheinlichkeit 1/6, "b" mit 2/6
und "c" mit 3/6 ausgewählt werden.

Gibt es dafür irgendein genialer Ansatz, der ohne Datenbank auskommt?

Was ich nicht möchte, ist Elemente mehrfach im Array aufnehmen. Also
sowas wie array ("a", "b", "b", "c", "c", "c").

Danke,
Andreas


php::bar PHP Wiki   -   Listenarchive