Computerwissenschaften

Verwenden der PHP Rand () -Funktionen zum Generieren von Zufallszahlen

Die Funktion rand () wird in PHP verwendet. um eine zufällige Ganzzahl zu generieren. Die rand () PHP-Funktion kann auch verwendet werden, um eine Zufallszahl innerhalb eines bestimmten Bereichs zu generieren. z. B. eine Zahl zwischen 10 und 30.

Wenn bei Verwendung der PHP-Funktion rand () keine maximale Grenze angegeben wird, wird die größte Ganzzahl, die zurückgegeben werden kann, von der Funktion getrandmax () bestimmt, die je nach Betriebssystem variiert.

In Windows kann beispielsweise 32768 die größte Zahl generiert werden. Sie können jedoch einen bestimmten Bereich festlegen, um höhere Zahlen einzuschließen.

 

Rand () Syntax und Beispiele

Die korrekte Syntax für die Verwendung der Rand-PHP-Funktion lautet wie folgt:

rand (); 

oder

Rand (min, max); 

Mit der oben beschriebenen Syntax können wir drei Beispiele für die Funktion rand () in PHP erstellen:

<? php 
echo (rand (10, 30). "
"); 
Echo (Rand (1, 1000000). "
"); 
Echo (rand ()); 
?>

Wie Sie in diesen Beispielen sehen können, generiert die erste Rand-Funktion eine Zufallszahl zwischen 10 und 30, die zweite zwischen 1 und 1 Million und dann die dritte ohne definierte maximale oder minimale Anzahl.

Dies sind einige mögliche Ergebnisse:

20 
442549 
830380191

 

Sicherheitsbedenken bei Verwendung der Rand () – Funktion

Die von dieser Funktion generierten Zufallszahlen sind keine kryptografisch sicheren Werte und sollten aus kryptografischen Gründen nicht verwendet werden. Wenn Sie sichere Werte benötigen, verwenden Sie andere Zufallsfunktionen wie random_int (), openssl_random_pseudo_bytes () oder random_bytes ()

Hinweis: Ab PHP 7.1.0 ist die PHP-Funktion rand () ein Alias ​​von mt_rand (). Die Funktion mt_rand () soll viermal schneller sein und einen besseren Zufallswert erzeugen. Die generierten Zahlen sind jedoch nicht kryptografisch sicher. Das PHP-Handbuch empfiehlt die Verwendung der Funktion random_bytes () für kryptografisch sichere Ganzzahlen.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.