Val*_*Val 78 php security random
有没有办法根据最小值和最大值生成一个随机数?
例如,如果min为1且最大值为20,则应生成1到20之间的任何数字,包括1和20?
Pri*_*ner 132
<?php
$min=1;
$max=20;
echo rand($min,$max);
?>
Run Code Online (Sandbox Code Playgroud)
Sal*_*ali 29
在新的PHP7中,最终支持加密安全的伪随机整数.
int random_int ( int $min , int $max )
Run Code Online (Sandbox Code Playgroud)
random_int - 生成加密安全的伪随机整数
这基本上使以前的答案过时了.
Mat*_*ell 17
一个更快的速度更快的版本将使用mt_rand:
$min=1;
$max=20;
echo mt_rand($min,$max);
Run Code Online (Sandbox Code Playgroud)
资料来源:http://www.php.net/manual/en/function.mt-rand.php.
注意:您的服务器需要启用Math PHP模块才能使其正常工作.如果没有,请让您的主机启用它,或者您必须使用正常(和较慢)的rand().
我在这里捆绑了答案并使其独立于版本;
function generateRandom($min = 1, $max = 20) {
if (function_exists('random_int')):
return random_int($min, $max); // more secure
elseif (function_exists('mt_rand')):
return mt_rand($min, $max); // faster
endif;
return rand($min, $max); // old
}
Run Code Online (Sandbox Code Playgroud)
(rand() % ($max-$min)) + $min
Run Code Online (Sandbox Code Playgroud)
要么
rand ( $min , $max )
Run Code Online (Sandbox Code Playgroud)
http://php.net/manual/en/function.rand.php
rand(1,20)
Run Code Online (Sandbox Code Playgroud)
PHP rand 函数的文档在这里:
http://php.net/manual/en/function.rand.php
使用该srand()
函数设置随机数生成器的种子值。
归档时间: |
|
查看次数: |
110720 次 |
最近记录: |