Signatur
Beschreibung
stats_rand_gen_int() ist Teil der stats-PECL-Erweiterung und gibt eine pseudo-zufällige Ganzzahl zurück. Der Wertebereich ist 1 bis 2147483562, was dem Maximum des internen Zufallszahlengenerators der stats-Bibliothek entspricht (basierend auf dem L'Ecuyer-Algorithmus).
Die Funktion eignet sich für statistische Simulationen und Monte-Carlo-Berechnungen, bei denen eine gleichmäßig verteilte Ganzzahl ohne eigene Bereichsangabe benötigt wird. Sie ist nicht für kryptographische Zwecke geeignet.
Im Gegensatz zu rand() oder mt_rand() nutzt diese Funktion den internen Zufallszahlengenerator der stats-Erweiterung, der für statistische Berechnungen optimiert ist und eine hohe Periode aufweist.
Da die Funktion zur optionalen PECL-Erweiterung stats gehört, muss diese explizit installiert und aktiviert sein, bevor sie verwendet werden kann.
Rückgabewert
1 und 2147483562 zurück.Beispiele
Einfache Zufallszahl erzeugen
<?php
// Sicherstellen, dass die stats-Erweiterung geladen ist
if (!extension_loaded('stats')) {
die('Die stats-Erweiterung ist nicht installiert.');
}
$zahl = stats_rand_gen_int();
echo 'Zufällige Ganzzahl: ' . $zahl . PHP_EOL;
Verwendung in einer Monte-Carlo-Simulation
<?php
// Einfache Monte-Carlo-Schätzung: Verhältnis gerader zu ungerader Zahlen
$gerade = 0;
$ungerade = 0;
$versuche = 10000;
for ($i = 0; $i < $versuche; $i++) {
$zahl = stats_rand_gen_int();
if ($zahl % 2 === 0) {
$gerade++;
} else {
$ungerade++;
}
}
echo 'Versuche: ' . $versuche . PHP_EOL;
echo 'Gerade: ' . $gerade . ' (' . round($gerade / $versuche * 100, 2) . '%)' . PHP_EOL;
echo 'Ungerade: ' . $ungerade . ' (' . round($ungerade / $versuche * 100, 2) . '%)' . PHP_EOL;
// Wichtig · Fallstricke
Sicherheitshinweis: stats_rand_gen_int() ist ein pseudo-zufälliger Generator und nicht für kryptographische Anwendungen (z. B. Token-Generierung, Passwörter) geeignet. Verwende stattdessen random_int() (PHP 7+) für kryptographisch sichere Zufallszahlen.
Abhängigkeit: Die Funktion steht nur zur Verfügung, wenn die PECL-Erweiterung stats installiert ist. Auf vielen Shared-Hosting-Umgebungen ist diese Erweiterung nicht standardmäßig verfügbar.
Der Maximalwert 2147483562 ist kein willkürlicher Wert, sondern ergibt sich aus dem Modulus des ersten Teilgenerators des kombinierten Multiplikativ-Kongruenz-Generators nach L'Ecuyer (2^31 − 86).