Mailinglisten-Archive |
Maltid, > Moin, > > ich habe ein kleines Problem. Folgender "Zufallsgenerator" > soll einfach diverse Dateien includen. Tut er auch aber: > Es kommt immer wieder zu Doppelincludes, weil er eben ab > und an die gleiche Zahl hintereinander generiert. > > Bei einer Zahlenbasis von 50 ist das zwar moeglich aber > geht es nicht auch anders ? > > <?php > // Zufallsinclude von Schlagzeilen > // $headlines beziffert Zahl der Textfiles > // $headlinepfad beschreibt Pfad zu den Textfiles > // $headlinemax beziffert Menge der Headlines > > $headlines="10" ; > $headlinepfad="./" ; > $headlinemax="2" ; > > echo "<center>" ; > for ($i=1; $i <= $headlinemax; $i++) > { > echo "<b><font size=\"2\">" ; > echo "+++ " ; > $zahl="" ; > mt_srand ((double) microtime() * 1000000); Evtl könntest du es lösen, in dem Du die Zahl zu initieren von Rand selber per Zufall auswählst und dabei eine größere Zahlenbasis nimmst, dann ist die wahrscheinlichkeit daß die gleiche Zahl zweimal vorkommt nicht so groß. Könnte funktionieren - untested...Einschub: $doubletrouble=mt_rand(1,1000000); mt_srand ($doubletrouble); > $zahl = mt_rand(1,$headlines); > $zahl .=".txt" ; > include ($headlinepfad.$zahl) ; > echo " +++" ; > echo "</font></b><br>" ; > }; > ?> > > Erschien mir ganz logisch. $zahl wird immer wieder leer- > gemacht und via mt_rand eine neue Zahlenfolge generiert. > > any hints ? Das Problem ist, daß du im Beispiel eine rechte kleine Zahlenbasis verwendest, so daß die Wahrscheinlichkeit, daß bei 10 Schlagzeilen zweimal die gleiche kommt sehr groß ist. Das verringert sich mit der Anzahl der Schlagzeilen. Hoffe es konnte weiterhelfen. Wenn es tatsächlich nur zehn Schlagzeilen sind, macht es wahrscheinlich mehr Sinn eine Schleife zu verwenden. Gruß Jochen > > tia, Michael > -- > --- coming soon : project blindflug --- > [name:] Michael Weber [home:] closed until further notice > [phone:]0171-2120254 mailto:michael_(at)_michaelw.org > -- > ** http://www.php-center.de ** > Die PHP-Liste: mailto: php_(at)_phpcenter.de > http://lists.phpcenter.de/mailman/listinfo/php >
php::bar PHP Wiki - Listenarchive