Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum Generieren eines Zufallsstrings mit benutzerdefinierter Länge in PHP. Was sind die Vorsichtsmaßnahmen zum Generieren eines Zufallsstrings mit benutzerdefinierter Länge in PHP? ? Das Folgende ist ein praktischer Fall, schauen wir uns das an.
//随机生成字符串 function random($length) { srand(date("s")); $possible_charactors = "0123456789abcdefghijklmnopqrstuvwxyz"; $string = ""; while(strlen($string)<$length) { $string .= substr($possible_charactors,(rand()%(strlen($possible_charactors))),1); } return($string); }
Verwenden Sie PHP, um n sich nicht wiederholende Zufallszahleninstanzen zu generieren
Ein Programmierer hat zuvor einen Fehler gemacht und vergessen, die Stimmen in der Datenbank zu speichern. Die von 200 Benutzern generierten Abstimmungssequenzen waren leer. Wie füllen Sie diese Lücke?
Zum Ausfüllen müssen Sie 16 sich nicht wiederholende Zufallszahlen zwischen 1 und 25 generieren. Wie gestaltet man die Funktion konkret? Speichern Sie Zufallszahlen in einem Array und entfernen Sie dann doppelte Werte im Array, um eine bestimmte Anzahl sich nicht wiederholender Zufallszahlen zu generieren.
Programm:
<?php /* * array unique_rand( int $min, int $max, int $num ) * 生成一定数量的不重复随机数 * $min 和 $max: 指定随机数的范围 * $num: 指定生成数量 */ www.jbxue.com function unique_rand($min, $max, $num) { $count = 0; $return = array(); while ($count < $num) { $return[] = mt_rand($min, $max); $return = array_flip(array_flip($return)); $count = count($return); } shuffle($return); return $return; } $arr = unique_rand(1, 25, 16); sort($arr); $result = ''; for($i=0; $i < count($arr);$i++) { $result .= $arr[$i].','; } $result = substr($result, 0, -1); echo $result; ?>
2,3,4,6,7,8,9,10,11,12,13,16,20,21,22,24
Die Funktion mt_rand() wird zur Generierung von Zufallszahlen verwendet. Diese Funktion generiert Zufallszahlen im Durchschnitt viermal schneller als rand().
Beim Entfernen doppelter Werte aus dem Array wird die „Flip-Methode“ verwendet, bei der array_flip() verwendet wird, um den Schlüssel und den Wert des Arrays zweimal auszutauschen. Dieser Ansatz ist viel schneller als die Verwendung von
array_unique(). Bevor Sie das Array zurückgeben, verwenden Sie zunächst shuffle(), um dem Array neue Schlüsselnamen zuzuweisen. Stellen Sie dabei sicher, dass die Schlüsselnamen fortlaufende Zahlen von 0 bis n sind. Wenn dieser Schritt nicht ausgeführt wird, sind die Schlüsselnamen möglicherweise diskontinuierlich, wenn
doppelte Werte löscht , was zu Problemen beim Durchlaufen führt.
Detaillierte Erläuterung der Schritte für PHP-ZIP-Komprimierungsklasse-Beispiel
Detaillierte Erläuterung der Schritte für PHP zur Bestimmung der laufende Status des Programms
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zum Generieren einer zufälligen Zeichenfolge mit benutzerdefinierter Länge in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!