phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?RE:_=5Bphp=5D_random_mit_verh=E4ltnis...?=

[php] =?iso-8859-1?Q?RE:_=5Bphp=5D_random_mit_verh=E4ltnis...?=

Alexander Meis alexander_(at)_pixelhouse.de
Tue, 18 May 1999 14:48:58 +0200


hi....

der code geht nicht .... bekomme nen fehler....


Beste Grüße aus Sinzig,

Alexander Meis
pixelhouse media service

----------------------------------------------------------------
 - Barbarossastraße 36 -  53489 Sinzig
 - Tel: 02642-980330 - Fax: 02642-980215
 - Internet: http://www.pixelhouse.de
-----------------------------------------------------------------

>-----Original Message-----
>From: php-admin_(at)_infosoc.uni-koeln.de
>[mailto:php-admin_(at)_infosoc.uni-koeln.de]On Behalf Of Christian von Toerne
>Sent: Dienstag, 18. Mai 1999 14:20
>To: php_(at)_solix.wiso.Uni-Koeln.DE
>Subject: 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
>
>--
>Web-Seite: http://infosoc.uni-koeln.de/php/
>Listenadresse: php_(at)_infosoc.uni-koeln.de
>http://infosoc.uni-koeln.de/mailman/listinfo/php
>



php::bar PHP Wiki   -   Listenarchive