Первый метод использует Mt_ rand()
function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $len=strlen($str)-1; $randstr=''; for($i=0;$i<$length;$i++){ $num=mt_rand(0,$len); $randstr .= $str[$num]; } return $randstr; } $number=GetRandStr(6); echo $number;
Второй способ (самый быстрый)
function make_password( $length = 8 ) { //Password character set, you can add any character you need $chars = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l','m', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y','z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y','Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '!', '@','#', '$', '%', '^', '&', '*', '(', ')', '-', '_', '[', ']', '{', '}', '<', '>', '~', '`', '+', '=', ',', '.', ';', ':', '/', '?', '|'); //Randomly take $length array element key names in $chars $keys = array_rand($chars, $length); $password = ''; for($i = 0; $i < $length; $i++) { //Concatenate $length array elements into a string $password .= $chars[$keys[$i]]; } return $password; }
Третий метод использует отметку времени
function get_password( $length = 8 ) { $STR = substr (MD5 (time()), 0, $length); // MD5 encryption, time() current timestamp return $str; }
Четвертое-это скремблирование строк
function getrandstr(){ $str='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'; $randStr = str_ Shuffle ($STR); // scramble strings $Rand = substr ($randstr, 0,6); // substr (string, start, length); returns a part of the string return $rands; }
В-пятых, начните создавать проверочный код (непосредственно генерируемый функцией, более удобный и быстрый).
$code = rand(10000, 99999);
php mt_ Случайный эффект случайной генерации 0 ~ 1 десятичных знаков
описание значения lcg_
значение с плавающей запятой lcg_value ( void ) значение lcg_value()
Возвращает псевдо- случайное число в диапазоне (0, 1). Эта функция объединяет два генератора конгруэнтности с периодами 2 ^ 31 – 85 и 2 ^ 31 – 249. Период этой функции равен произведению этих двух простых чисел.
Возвращает: псевдослучайное число в диапазоне (0, 1).
Выход:
0.11516515851995 0.064684551575297 0.68275174031189 0.55730746529099 0.70215008878091
Было проведено сравнение двух методов генерации 0 ~ 1 случайных десятичных знаков
1. Сравнение времени выполнения
На основе 100000 выполнения mt_rand()
И mt_getrandmax()
Время выполнения алгоритма
Выход:
время выполнения 266,893148 мс
100000 раз Значение lcg_ ()
Время выполнения
Выход:
время выполнения 86.178064 мс
Сравнение времени выполнения, потому что lcg_value()
Это собственный метод PHP, и mt_rand()
И mt_getrandmax()
Необходимо вызвать и оценить два метода, поэтому lcg_value()
Время выполнения примерно в три раза быстрее.
2. Сравнение случайных эффектов
быть основано на mt_rand()
И mt_getrandmax()
Случайный эффект алгоритма
=0.5){ imagesetpixel($im, $x, $y, $color1); }else{ imagesetpixel($im, $x, $y, $color2); } } } imagepng($im); imagedestroy($im); ?>
lcg_value()
Случайный эффект
=0.5){ imagesetpixel($im, $x, $y, $color1); }else{ imagesetpixel($im, $x, $y, $color2); } } } imagepng($im); imagedestroy($im); ?>
3. Рекомендация по случайному чтению
+PHP шифрует исходный код https://www.jb51.net/article/134506.html
Выше описано, как генерировать случайные числа в PHP подробно, более подробную информацию о случайных числах PHP, пожалуйста, обратите внимание на другие соответствующие статьи в developeppaer!