SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an.
Weitere Informationen
Beispiel
<?PHP
function gen_zahlen($min, $max, $anz) {
$werte = range($min, $max);
mt_srand ((double)microtime()*1000000);
for($x = 0; $x < $anz; $x++) {
$i = mt_rand(1, count($werte))-1;
$erg[] = $werte[$i];
array_splice($werte, $i, 1);
}
return $erg;
}
$zufalls_array = gen_zahlen(1, 100, 10);
echo join("-", $zufalls_array);
?>
Ausgabe
63-84-24-67-42-9-13-33-32-23
Wie Sie sehen, wurden 10 Zahlen nach dem Zufallsprinzip ermittelt, ohne das eine doppelt vorkommt.
Ziehung von Zufallseinträgen ohne Wiederholung
Nach demselben Prinzip lassen sich auch Einträge aus einem Array zufällig ausgeben, ohne dass es zu Wiederholungen kommt.
Beispiel
<?PHP
$kunden = array(
"IBM",
"Microsoft",
"Adobe",
"Macromedia",
"Apple",
"SAP"
);
function gen_zufall($anz,$daten) {
mt_srand ((double)microtime()*1000000);
for($x = 0; $x < $anz; $x++) {
$i = mt_rand(1, count($daten))-1;
$erg[] = $daten[$i];
array_splice($daten, $i, 1);
}
return $erg;
}
$zufalls_array = gen_zufall(3,$kunden);
echo join("-", $zufalls_array);
?>
Ausgabe
Adobe-Apple-Microsoft
Sie können die Funktion sogar zum Mischen von Arrays verwenden, indem Sie die folgende Codezeile wie folgt anpassen:
$zufalls_array = gen_zufall(count($kunden),$kunden);
Und schon erhalten Sie sämtliche Einträge des Arrays, jedoch gut vermischt.
Hinweis: Die Funktionen mit dem Präfix mt_ sollten bevorzugt werden, da sie um einiges schneller arbeiten. Sie wurden von Mersenne Twister (mt) entwickelt. Mehr erfahren Sie unter folgenden Adressen:
www.scp.syr.edu/~marc/hawk/twister.html
www.math.keio.ac.jp/~matumoto/emt.html
|