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
Zufallszahlen werden häufig benötigt, um Vorgänge zu steuern oder beispielsweise Kennwörter zu erzeugen. Zufallsfolgen beruhen auf mathematischen Funktionen, die zwar einen chaotischen Verlauf haben, aber dennoch einer strengen Folge gehorchen, sie sind pseudozufällig. Die Zufälligkeit wird erst erzeugt, wenn der Startwert variiert. Die folgende Tabelle zeigt Funktionen zum Abruf der Zufallswerte und zum Setzen des Startwerts.
Funktion | Beispiel | Beschreibung | srand($x) | srand(100); srand ((double)microtime()*1000000); | Setzt den Startwert für den Zufallsgenerator. | rand([$min],[$max]) | rand() => 7438 rand(0,10) => 4 | Gibt eine Zufallszahl zwischen 0 und 1 oder, wenn benutzt, zwischen $min und $max zurück. | getrandmax() | getrandmax() => 32767 | Gibt die höchstmögliche Zahl an, die rand() zurückgeben kann. | mt_srand($x) | mt_srand(100); mt_srand((double)microtime()*1000000); | Setzt den Startwert für den Zufallsgenerator. | mt_rand([$min],[$max]) | mt_rand() => 322911911 mt_rand(0,10) => 7 | Gibt eine Zufallszahl zwischen 0 und 1 oder, wenn benutzt, zwischen $min und $max zurück. | mt_getrandmax() | mt_getrandmax() => 2147483647 | Gibt die höchstmögliche Zahl an, die mt_rand() zurückgeben kann. |
Beispiel
<?php
// PNG-Grafik definieren
header("Content-type: image/png");
$kunden = array(
"IBM",
"Apple",
"Microsoft",
"Macromedia",
"Adobe"
);
$zufall = mt_rand(0,count($kunden)-1);
$kunde = $kunden[$zufall];
$breite = 200;
$hoehe = 50;
$bild = imagecreate($breite, $hoehe);
$weiss = imagecolorallocate($bild, 255, 255, 255);
$schwarz = imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $weiss);
imagestring($bild, 4, 1, 30, "Kunde: ".$kunde, $schwarz);
imagepng($bild);
imagedestroy($bild);
?>
Hiermit lassen sich zufällig dynamisch erzeugte Signaturen realisieren, welche mithilfe der Funktionen der GD-Bibliothek in eine PNG-Datei überführt werden. Sie können gerne auch folgendes Beispiel testen:
<?php
// PNG-Grafik definieren
header("Content-type: image/png");
$zeit = date("H:i:s", time());
$datum = date("d.m.Y", time());
$ip = $_SERVER["REMOTE_ADDR"];
$breite = 200;
$hoehe = 50;
$bild = imagecreate($breite, $hoehe);
$weiss = Imagecolorallocate($bild, 255, 255, 255);
$schwarz = Imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $weiss);
imagestring($bild, 4, 1, 1, "Uhrzeit: ".$zeit, $schwarz);
imagestring($bild, 4, 1, 15, "Datum: ".$datum, $schwarz);
imagestring($bild, 4, 1, 30, "Deine IP: ".$ip, $schwarz);
imagepng($bild);
imagedestroy($bild)
?>
Das Beispiel erzeugt eine PNG-Datei, welche die aktuelle Uhrzeit, das Datum und die IP-Adresse des Besuchers enthält. Es eignet sich somit ebenfalls zur Erzeugung von dynamischen Signaturen.
Ziehung von Zufallszahlen ohne Wiederholung
Eine weitere Anwendung wäre es, aus einem Zahlenbereich von $min bis $max zufällig $anz Zahlen auszuwählen, ohne dass Zahlen doppelt vorkommen.
|