Seiten
Zuletzt im Ohr
Zuletzt im Sinn
Archiv
- August 2010 (6)
- Juni 2010 (11)
- Mai 2010 (4)
- März 2010 (6)
- Februar 2010 (3)
- Dezember 2009 (2)
- November 2009 (3)
- Oktober 2009 (17)
- September 2009 (7)
- August 2009 (7)
- Juli 2009 (3)
- Juni 2009 (2)
- Mai 2009 (4)
- April 2009 (1)
- März 2009 (3)
- Februar 2009 (11)
- Januar 2009 (14)
- Dezember 2008 (6)
- November 2008 (9)
- Oktober 2008 (6)
- September 2008 (3)
Tagcloud
Partner/Links
- C# Tipps und Tricks - C# Tipps und Tricks
- gb-pix.de - Gästebuchbilder, Jappy, MySpace…
- Kostenlose Browsergames - Kostenlose Browsergames
- MySpace Downloader - MySpace Loader – der kostenlose MySpace.com Downloader
- Servervoice Blog - Servervoice Blog
- Wordpress Theme
- Youtube Mediaplayer - Webmusix – der kostenlose Youtube Mediaplayer
Network
Heute möchte ich euch zeigen, wie man eine beliebige Anzahl an unterschiedlichen Zufallszahlen generieren kann. Um vorneweg Fragen aus dem Weg zu gehen, warum ich unterschiedliche Zufallszahlen generieren möchte und, dass das ja dann gar keine 100%tigen Zufallszahlen mehr seien, weil der Zufall ja auch zweimal dieselbe Zahl aussuchen könnte, bitte ich euch einmal folgendes Szenario vorzustellen…
…Ihr habt eine Bildergalerie mit 100 Fotos. Diese Fotos sind in einer Datenbank mit fortlaufender ID gespeichert. Auf der Willkommenseite möchtet ihr eine Art “Bilderwand”, ein Mosaik aus 9 zufälligen Bildern aus eurer Galerie, anzeigen. Was nun? 9 Zufallszahlen generieren und diese dann für die Datenbankabfragen benutzen um die Bilder anzeigen zu lassen? Nein, so könnte ja zweimal das selbe Bild angezeigt werden. (Zufallsgenerator wirft z.B. zweimal die 9 aus, was hieße das in zwei der Kacheln eures Mosaiks das Bild mit der ID 9 angezeigt wird!) Um ein vernünftiges Ergebnis zu erzielen benötigen wir als die gewünschte Anzahl (in unserem Fall 9) unterschiedliche Zufallszahlen.
Macht also doch Sinn…
Wie funktioniert das denn nun?
$arrayID = range(1, 100); // Wir legen ein Array mit den IDs unserer Bilder an
srand ((double)microtime()*1000000);
for($x = 0; $x < 9; $x++) // 9 Durchläufe für 9 Zufallszahlen
{
$i = rand(1, count($arrayID))-1; // Zufallszahl wird generiert und um eine Ganzzahl verringert, da der Arrayindex ja bei 0 beginnt
$erg[] = $arrayID[$i]; // Die Zufallszahl wird in einem Array abgelegt
array_splice($arrayID, $i, 1); // Die soeben ermittelte Zufallszahl wird aus dem Array entfernt
}
Für alle, die die Einleitung nicht gelesen haben nochmal eine allgemeinere Version.
$array = range($minimum, $maximum);
srand ((double)microtime()*1000000);
for($x = 0; $x < $AnzahlDerZufallszahlen; $x++)
{
$i = rand(1, count($array))-1;
$erg[] = $array[$i];
array_splice($array, $i, 1);
}
Ihr habt Verbesserungswünsche, Fragen, oder alternative Wege zum Ziel? Dann schreibt einen Kommentar!
Grüße,
Raffi
Ähnliche Artikel:
Hallo!

Kategorien
- Der tägliche Senf… (99)
- Informatik (96)
- C# & .net Framework (18)
- Cheat Sheets (4)
- HTML, PHP, etc. (6)
- Neuigkeiten (33)
- Software-Projekte (40)
- Tipps & Tricks (39)
- Web-Projekte (1)
- Musik (11)
- Downloads (4)
- Hörbar – Raffis Musiktipp (4)
- Videoclips (9)
- Schule (5)
Kalendar
| M | D | M | D | F | S | S |
|---|---|---|---|---|---|---|
| « Dez | Feb » | |||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
Counter
| Besucherstatistik | |
| Besucher gesamt: | 154.247 |
| Besucher heute: | 121 |
| Besucher gestern: | 324 |
| Max. Besucher pro Tag: | 677 |
| gerade online: | 1 |
| max. online: | 89 |
| Seitenaufrufe gesamt: | 427.315 |
| Seitenaufrufe diese Seite: | 2.173 |
| Counterstart: | 13.10.2008 |
Meta
Am meisten kommentiert
Neue Artikel
- Soundcloud Downloader
- Große Dateien schnellstmöglich verschicken
- Facebook- & Twitterbutton in Wordpress
- 5x (Audio-)visuelles für die Mittagspause
- C# – Facebook like MessageBox
- Update: Webmusix 1.4.2
- C# – Webcams benutzen
- Mp3’s schneiden, kürzen, ein- und ausblenden
- Netzfundstück: Amsterdam Acoustics
- Pixlr – Online Bilder bearbeiten
Neue Kommentare
- DeannClayton28: The mortgage loans seem to be important for guys, which want to organize their organization. As a...
- Frankonia: Sehr nützliches Tool, danke!
- Raffi: Dann werd ich mir mal das 4.0er Framework draufschmeißen und den Debugger anhauen
- Pari: Moin:) Unter WinXP SP3 mit installiertem .NET 2.0, 3.0 und 3.5 funzt es und unter Win7 x64 ebenso. Nur auf dem...
- Raffi: Hallo Pari, der Fehler ist mir noch nicht über den Weg gelaufen. Hast du eine Möglichkeit das Programm auf...
net-blog.net © 2008-2010




0 Benutzer kommentierten "Unterschiedliche Zufallszahlen generieren mit PHP"