Mit dem folgenden Skript kann man z.B. ermitteln ob ein bestimmtes Ereignis eintreten soll.
Dazu wird eine prozentuale Quote vorgegeben.
Möchte man beispielsweise jeden 4ten Besucher der WebSite mit einem PopUp-Fenster
(so man denn nicht ganz auf diese Belästigung verzichten möchte) beglücken, so ist es einfacher dies über die Wahrscheinlichkeit zu realisieren als tatsächlich jeden 4ten Besucher zu ermittlen.
Im Endeffekt kommt es auf das gleiche heraus auch wenn es von der Methodik schon verschieden ist.
Im genannten Beispiel wäre also die Wahrscheinlichkeit 25%.
<?php
/**
* Chance ermittlen
*/
$loop = 2000;
$percent = 25;
function InitRandom()
{
srand ((double)microtime()*1000000);
return 1;
}
function GetRandomNumber($max, $min=0)
{
if ($min > $max){
return 0;
}
$n = rand ($min, $max);
return $n;
}
function Chance($h,$t)
{
$result = false;
$rnd = GetRandomNumber($t, 1);
if ($rnd <= $h) {
$result = $rnd;
}
return $result;
}
// MAIN
InitRandom();
$stack = array('Ja' => 0, 'Nein' => 0);
for ($i=0; $i < $loop; $i++){
$bool = Chance ($percent, 100);
$msg = $bool
? 'Ja'
:'Nein';
$stack[$msg]++;
printf('Versuch Nr.: %d - %s<br>',$i,$msg);
}
printf( 'Die vorgegebene Quote ist %s %%,die tatsächliche Quote ist %s %%',$percent, $stack['Ja']/ $stack['Nein']*100);
?>