PHP生成各种随机值

电脑杂谈  发布时间:2020-07-31 03:03:07  来源:网络整理

php滚动抽奖程序源码_php随机数滚动_php 数组的下一个元素

当我今天在研究EasyPay的支付功能时,突然想到用户打开随机生成的值来测试支付可以有效地防止某些不安和善良的人恶意举报,因此我浏览了互联网并编写了一个关于PHP随机生成的一些数值方法. 与下面的所有人分享!

随机数
	echo date("YmdHis").mt_rand(100,999);
	// 同样也可以这样得出 20190225132121908 这样的随机数
?>

随机数发生器,用srand函数调用seed函数的返回结果
srand(seed());
//输出产生的随机数,随机数的范围为10-100
echo rand(10,100);
?>

以上两个效果与下面的效果相同,所以有什么区别?以下将为您提供答案.



这两种起到的效果也是一样的

php随机数滚动_php 数组的下一个元素_php滚动抽奖程序源码

许多旧的libc随机数具有一些不确定和未知的特征,并且运行速度很慢. PHP的rand()函数默认使用libc随机数. mt_rand()函数非正式地用于替换它. 此功能使用梅森·扭曲器的已知特性作为随机数. mt_rand()生成随机值的平均速度比libc提供的rand()快四倍. mt_rand()是更好的随机数,因为它比rand()具有更好的随机数. 而且性能是rand()的4倍,而mt_getrandmax()表示的值范围也更大.

rand()和mt_rand()的功能都是生成一个随机整数,它们都以两种形式使用:

int rand(void) / int mt_rand(void)
int rand(int $min, int $max) / int mt_rand($min, $max)

第一种形式:

rand()生成的随机数在0到getrandmax()之间

mt_rand()生成的随机数在0到mt_getrandmax()之间

php随机数滚动_php 数组的下一个元素_php滚动抽奖程序源码

第二种形式:

rand()生成一个从$ min到$ max的随机数

mt_rand()生成一个从$ min到$ max的随机数

PS. 随机浮点数生成,PHP手册中有一个演示

function randomFloat($min = 0, $max = 1) {
return $min + mt_rand() / mt_getrandmax() * ($max - $min);
}
var_dump(randomFloat());
var_dump(randomFloat(2, 20));

让我们讨论一下为什么上述两个效果相同.

php滚动抽奖程序源码_php随机数滚动_php 数组的下一个元素

srand是,如果未设置,则默认为1

Rand通常是使用作为参数的固定操作

尝试后您将知道. 如果您没有设置或设置固定,请运行rand

然后关闭浏览器并再次打开它,然后运行rand

您会发现结果始终相同

让我们先谈谈rand()函数php随机数滚动,rand([int min],[int max])此函数采用介于min和max之间的随机数. 如果未指定随机数的最大和最小范围,则此函数将自动采用0到RAND_MAX之间的随机数.

php 数组的下一个元素_php随机数滚动_php滚动抽奖程序源码

但是php随机数滚动,如果仅使用rand()函数,则随机数将是非常随机的. 最好在获取随机数之前使用srand()函数来配置新的随机数.

解释以下用法(通常以这种方式使用这两个功能):

srand((double)microtime()*1000000);
$rand_number= rand();

microtime()返回两个值: 当前毫秒和时间戳. 当我们想提取一个随机数时,我们只能从毫秒中获取一个随机数. (double)microtime()仅返回当前的毫秒值.

microtime()是毫秒数,以秒为单位,因此值都是小数,乘以1000000可将它们转换为整数

他们的工作流程如下:

(1): 首先,为srand()提供一个“”;它是unsigned_int类型的值.

(2): _然后调用rand(),它将根据提供给srand()的值返回一个随机数(范围为_0〜32767)

(3): 根据需要多次调用rand()以连续获取新的随机数.

(4): 只要可以为srand()提供新的“”,以便进一步“随机化” rand()的输出.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-289330-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 洪仁
        洪仁

        果然是美国带着日韩玩

      热点图片
      拼命载入中...