PHP随机数函数rand()与mt_rand()的讲解

yipeiwu_com7年前PHP代码库

PHP中rand()与mt_rand()都是用于产生一个指定范围内单独随机数的函数


既然他们都是用于产生一个随机数,那么他们有什么区别呢?

rand() 函数默认使用 libc 随机数发生器,很多老的 libc 的随机数发生器具有一些不确定和未知的特性而且效率很低;mt_rand() 则是用了 Mersenne Twister 中已知的特性作为随机数发生器,它产生随机数值的平均速度比 libc 提供的 rand() 快四倍。所以在PHP中mt_rand()函数是非正式用来替换rand()的。

语法:

rand(min,max)
mt_rand(min,max)

min,max 皆为可选,规定随机数产生的范围。

如果没有提供可选参数 min 和 max,则返回 0 到 RAND_MAX 之间的伪随机整数。例如,想要 1 到 100(包括 1 和 100)之间的随机数,用 rand(1, 100) 或 mt_rand(1,100)。

注: 自 PHP 4.2.0 起,PHP产生随机数都不再需要用 srand() 或 mt_srand() 函数产生随机种子,已经会自动完成。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家的支持。

相关文章

Yii2中datetime类的使用

前言 以前更改时间格式的时候经常使用date方法,后来知道php竟然自带datetime类处理时间格式,记录一下用法,方便以后使用 实例化 在yii 1.1中,可以直接写成 $d...

PHP基于cookie实现统计在线人数功能示例

本文实例讲述了PHP基于cookie实现统计在线人数功能。分享给大家供大家参考,具体如下: online.php文件: <?php /* @ PHP 在线人数统计程...

队列在编程中的实际应用(php)

队列在编程中的实际应用(php)

一:队列的概念、数据结构 队列(Queue)是运算受到限制的一种线性表。只允许在表的一端进行插入,而在另一端进行删除元素的线性表。队尾(rear)是允许插入的一端。队头(front)是允...

PHP $_FILES函数详解

如: 复制代码 代码如下: <form enctype="multipart/form-data" action="upload.php" method="post"> &l...

PHP实现递归无限级分类

PHP实现递归无限级分类

在一些复杂的系统中,要求对信息栏目进行无限级的分类,以增强系统的灵活性。那么PHP是如何实现无限级分类的呢?我们在本文中使用递归算法并结合mysql数据表实现无限级分类。 递归,简单的说...