prozent chance in php
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
blume
chance
code
dank
definition
element
fehler
funktion
kleinen fehler
mache
re
reihenfolge
stand
tauschen
url
wahrscheinlichkeit
zahl
zug
zuweisung
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Habe diesen Script für deine Bedürfnisse angepasst, sollte selbsterklärend sein, zumindestens die Zuweisung der Wahrscheinlichkeiten. Diese müssen im Array immer zusammengerechnet 1 ergeben (0.9 + 0.1 hier):
function dw_rand ($space, $errval = false) { $res = 1000000000; $rn = mt_rand(0, $res - 1); foreach ($space as $element => $probability) { $psum += $probability * $res; if ($psum > $rn) return $element; } $number[1] = 0.9; $number[6] = 0.1; return $errval; } echo dw_rand($number);
-
Das vorgeschlagene Script funktioniert nicht aufgrund eines Fehlers in der Reihenfolge.
Das richtige Script lautet so:
function dw_rand ($space, $errval = false) { $res = 1000000000; $rn = mt_rand(0, $res - 1); foreach ($space as $element => $probability) { $psum += $probability * $res; if ($psum > $rn) return $element; } return $errval; } $number[1] = 0.9; $number[6] = 0.1; echo dw_rand($number);
Beitrag zuletzt geändert: 19.6.2013 19:55:34 von tobiworlds -
Danke für die Blumen, es handelt sich hierbei um einen kleinen Fehler meinerseits, da vorher die Array Zuweisung vor der Definition der Funktion stand ich beides aber tauschen wollte und in diesem Zug ein kleines Fauxpas passiert ist und ich das Funktionsende übersehen habe.
Wohl heute mit dem falschen Fuß aufgestanden, so etwas kann man auch anders bzw. nicht so abwertend ausdrücken. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage