Zufallszahlen gewichtung und limit

Grunz

Mitglied
Hallo
habe dieses zufalsszahlen script von nulldesin:
<?
srand ((double) microtime() * 1000000);
$file = file("quotes.txt"); //open and read the file into an array
$anzahl = count($file); //determine the amount of lines
$zufall = rand(1,$anzahl); //initialise the random-value
echo $file[$zufall]." (".$zufall."/".$anzahl.")"; //display a random line ...
?>

nun möchte ich es so erweitern, dass bestimmte zahlen öfter drankommen, als andere (beim generieren) -> also eine art Gewichtung.
und dann möchte ich es noch so ergänzen, dass einige zahlen(in diesem fall zeilen) nur z.B. 20 mal generiert werden.
hoffe ihr könnt mir irgendwie helfen.

MfG
 
Für die gewichtung hätt ich ne idee:
du koenntest eine zweite zufallszahl generieren zb zwischen 0 und 100 und dann einfach sagen das die die öffters ausgegeben werden sollen nur angezeigt werden wenn die Zahl kleiner 90 ist. ansonsten eine Zeile ausgewählt wird die seltener ( jetzt mit 10% wahrscheinlichkeit (keine ahnung ob das Stimmt Stochastig war nie mein ding)) dran kommen sollte.

für die begrenzung auf 20 malige generierung müsstest du halt einfach in ne extra datei schreiben wie offt eine Zahl dran kam und wenn das öfters als 20 mal passiert ist eine neue zufallszahl generiern und wieder mit den in der Datei gespeicherten vergleichen...

viel spass beim coden :-)

tob
 
Zurück