Die Methode zum Generieren von Zufallszahlen in PHP ist sehr einfach, da PHP uns intern eine vorgefertigte Zufallszahlenmethode zur Verfügung stellt. Daher müssen wir keine zusätzliche Konfiguration durchführen, sondern nur die interne Methode aufrufen. Die
php-Zufallszahlenfunktion lautet wie folgt:
1. Rand-Funktion
rand()-Funktion kann zufällige Ganzzahlen generieren, ohne Parameter hinzuzufügen. Wenn Sie den Bereich der Zufallszahlen festlegen möchten, können Sie in der Funktion die Werte von Min und Max festlegen. Wenn Sie einen Zufallszahlen-Seed generieren müssen, verwenden Sie die Konfiguration der Srand-Funktion.
echo rand(); // 生成 0~RAND_MAX 之间的随机数,Windows 系统下 RAND_MAX 的值为 32767,RAND_MAX 可以用函数 getrandmax() 获得 echo rand(1000000, 9999999); // 生成 1000000~9999999 之间的随机数 $seed = time(); // 使用时间作为种子源 srand($seed); // 播下随机数发生器种子 echo rand(); // 根据种子生成 0~32768 之间的随机数。如果 $seed 值固定,则生成的随机数也不变 echo rand(1000000, 9999999); // 根据种子生成 1000000~9999999 之间的随机数。如果 $seed 值固定,则生成的随机数也不变
2. Die mt_rand-Funktion
mt_rand() verwendet den Mersenne-Twister-Algorithmus, um zufällige Ganzzahlen zurückzugeben. Der Hauptunterschied zur rand()-Funktion ist:
mt_rand() generiert Zufallswerte im Durchschnitt schneller als rand () bereitgestellt von libc Viermal, und die Seeding-Funktion verwendet mt_srand(), nicht srand(). Obwohl es diesen Unterschied gibt, sind ihre Verwendungsmethoden immer noch ähnlich, wie folgt:
echo mt_rand(); // 生成 0~RAND_MAX 之间的随机数,Windows 系统下 RAND_MAX 的值为 2147483647(与rand()中的 RAND_MAX 不同),RAND_MAX 可以用函数 mt_getrandmax() 获得 echo mt_rand(1000000, 9999999); // 生成 1000000~9999999 之间的随机数,不受系统 RAND_MAX 影响 $seed = time(); // 使用时间作为种子源 mt_srand($seed); // 播下随机数发生器种子 echo rand(); // 根据种子生成 0~RAND_MAX 之间的随机数,如果 $seed 值固定,则生成的随机数也不变 echo rand(1000000, 9999999); // 根据种子生成 1000000~9999999 之间的随机数,如果 $seed 值固定,则生成的随机数也不变
Hinweis: Die von rand() und mt_rand() generierten Zufallszahlen sind alle ganze Zahlen und enthalten keine englischen Buchstaben.
(Verwandte Empfehlung: php-Tutorial)
3. Uniqid-Funktion
uniqid()-Funktion generiert eine eindeutige ID basierend auf der aktuellen Zeit in Mikrosekunden. Die Länge der standardmäßig generierten ID beträgt 13 oder 23 Ziffern, bestehend aus englischen Buchstaben und Zahlen. Die Funktion uniqid() verfügt über zwei Parameter im folgenden Format:
uniqid(prefix,more_entropy)
wobei
prefix: das Präfix zum Generieren der ID
more_entropy: ob zusätzliche Entropie hinzugefügt werden soll
Das folgende Programm,
echo uniqid(); // 生成13位字符串,如:55f540e273e93 echo uniqid('one.'); // 生成前缀为one.加13位随机字符的字符串,如:one.55f540e273e93 echo uniqid('two.', true); // 生成前缀为two.加23位随机字符的字符串(加了熵),如:two.55f540e273e932.77804707,比上面的多了 10 位,即多了:2.77804707
, erklärt: Da es auf der Systemzeit basiert, ist die von dieser Funktion generierte ID nicht optimal. Um eine absolut eindeutige ID zu generieren, verwenden Sie die Funktion md5().
Lernvideo-Sharing: php-Video-Tutorial
Originallink: https://www.awaimai.com/216.html
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Generieren von Zufallszahlen in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!