Heim > Artikel > Backend-Entwicklung > So generieren Sie in PHP eindeutige Zahlen innerhalb eines bestimmten Bereichs
So generiert PHP eindeutige Zahlen innerhalb eines bestimmten Bereichs: Generieren Sie zuerst Zufallszahlen mit der Funktion mt_rand() und entfernen Sie dann doppelte Zahlen mit der Funktion array_flip(). Die Funktion array_flip() wird verwendet, um die Schlüsselnamen im Array und die entsprechenden zugehörigen Schlüsselwerte umzukehren.
Funktionseinführung:
(Empfohlenes Tutorial: php-Tutorial)
mt_rand()-Funktion Generieren Sie zufällige ganze Zahlen mit dem Mersenne Twister-Algorithmus. Eine zufällige Ganzzahl zwischen min (oder 0) und max (oder mt_getrandmax()), einschließlich. Wenn max < min, wird FALSE zurückgegeben.
Tipp: Diese Funktion ist eine bessere Wahl zum Generieren von Zufallswerten und liefert viermal schneller Ergebnisse als die Funktion rand().
Die Funktion array_flip() wird verwendet, um die Schlüsselnamen im Array und die entsprechenden zugehörigen Schlüsselwerte umzukehren/austauschen. Wenn die Umkehrung erfolgreich ist, wird das umgekehrte Array zurückgegeben. Wenn die Umkehrung fehlschlägt, wird NULL zurückgegeben.
Code-Implementierung:
<?php /* * array unique_rand( int $min, int $max, int $num ) * 生成一定数量的不重复随机数,指定的范围内整数的数量必须 * 比要生成的随机数数量大 * $min 和 $max: 指定随机数的范围 * $num: 指定生成数量 */ 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; } //生成10个1到100范围内的不重复随机数 $arr = unique_rand(1, 100, 10); echo implode($arr, ","); ?>
Ergebnis der Programmausführung:
48,5,19,36,63,72,82,77,46,16
Das obige ist der detaillierte Inhalt vonSo generieren Sie in PHP eindeutige Zahlen innerhalb eines bestimmten Bereichs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!