phpbar.de logo

Mailinglisten-Archive

Re: [php] random mit verhältnis...
Archiv Mailingliste php_(at)_infosoc.uni-koeln.de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [php] random mit verhältnis...



>wie kann es ralisiert werden das man ein verhältnis setzen kann zb
>banner1=10   banner2=5  banner3=3  mal anzeigen ?
>hat dazu einer ne idee ?

Ich hab' das mal so realisiert...

$sum=0;
$haeufigkeit=array(10,5,3);
for($i=0;$i<count($haeufigkeit);$i++)
  $bounds[$i]=$sum;
  $sum+=$haeufigkeit[$i];
}

...

$zufall=rand(0,$sum);
$i=-1;
while($bounds[++$i]<$zufall);

$i ist dann die Nummer des Banners. Wenn's nicht viele Banner oder krumme
Verhältnisse der Wahrscheinlichkeiten sind (z.B. 57827:36463:389423 ;-) ), dann
kannst du natürlich auch hingehen und das folgendemaßen machen:

$haeufigkeit=array(10,5,3);
$sum=0;
for($i=0;$i<count($haeufigkeit);$i++) {
  $sum+=$haeufigkeit[$i];
  for($j=0;$j<$haeufigkeit[$i];$j++)
    $foo[]=$i;
}

...

$zufall=rand(0,$sum);
$i=$foo[$zufall];

$i enthält dann wieder die Bannernummer.

Alles, wie hier ja üblich, nicht getestet! ;-) Vielleicht läuft's ja dennoch.

Chris

Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive