PHP Zufallsgenerator mit bestimmten Werten

10 Dezember 2009 von Marco Kommentieren »

Die PHP-Funktion rand() — Erzeugt einen zufälligen Integerwert. Als Parameter kann man den niedrigste zurückzugebende Wert (Vorgabe: 0) und den höchsten zurückzugebende Wert (Vorgabe: get_randmax()) übergeben. Was ist aber wenn man Zufallszahlen aus bestimmten Nummernblöcken haben möchte, z.B. 1 – 3 und 6 – 9?

Man erzeugt ein Array mit den gewünschten Werten und lässt sich die Anzahl der Werte ausgeben. Mit der Anzahl der Werte im Array greift man auf den zufälligen Key vom Array zu und erhält über diesen Key einen zufälligen Wert aus dem definierten Bereich.
Beispiel:

// Array mit Werten erzeugen:
$i = array(1,2,3,6,7,8,9);

// Anzahl ermitteln und um eins subtrahieren, da
//der Array-Key bei 0 beginnt:
$anz = count($i) – 1;

// Auf zufälligen Array-Key zugreifen:
$random = $i[rand(0,$anz)];

// Wert ausgeben
echo $random;

Eigentlich ganz einfach und sehr variabel einsetztbar. Für weitere Lösungswege wäre ich sehr dankbar.

Werbung

Einen Kommentar hinterlassen

Easy AdSense by Unreal