深入PHP获取随机数字和字母的方法详解


Posted in PHP onJune 06, 2013

第一种方法

<?php
$FileID=date("Ymd-His") . '-' . rand(100,999);

//$FileID为   20100903-132121-908   这样的的随机数
?>

第二种方法
<?php
function randomkeys($length) {
    $returnStr='';
    $pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';
    for($i = 0; $i < $length; $i ++) {
        $returnStr .= $pattern {mt_rand ( 0, 61 )}; //生成php随机数
    }
    return $returnStr;
}
echo randomkeys(4);
?>

第三种方法
<?php
//seed用户自定义函数以微秒作为种子
function seed()
{
list($msec, $sec) = explode(' ', microtime());
return (float) $sec;
}
//播下随机数发生器种子,用srand函数调用seed函数的返回结果
srand(seed());
//输出产生的随机数,随机数的范围为10-100
echo rand(10,100);
?>

上面这个和下面这个不是没什么不同吗?都是随机输出10-100之间的数,新人学习,可能问的太简单了呵呵
<?php
echo rand(10,100);
?>
mt_rand(10,100);

srand是种子,如果不设的话默认是1
rand一般是利用种子做参数的一种固定的运算
你试一下就知道了,不设种子或者设一个固定的种子,运行rand
然后再关了浏览器再开,再运行rand
你会发现结果一直是一样的
先说rand()函数吧,rand([int min], [int max])   
本函数从min和max之间取一个随机数。若没有指定随机数的最大及最小范围,本函数会自动的从0到RAND_MAX中取一个随机数。
但是如果只用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()的
输出结果。

PHP 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
PHP+DBM的同学录程序(2)
Oct 09 PHP
PHP 和 XML: 使用expat函数(二)
Oct 09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
php判断表是否存在的方法
Jun 18 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
PHP实现原生态图片上传封装类方法
Nov 08 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
Dec 15 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
解析如何屏蔽php中的phpinfo()函数
Jun 06 #PHP
深入PHP中慎用双等于(==)的详解
Jun 06 #PHP
解析PHP中如何将数组变量写入文件
Jun 06 #PHP
浅谈PHP强制类型转换,慎用!
Jun 06 #PHP
探讨file_get_contents与curl效率及稳定性的分析
Jun 06 #PHP
$_GET['goods_id']+0 的使用详解
Jun 06 #PHP
PHP编码规范的深入探讨
Jun 06 #PHP
You might like
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
php中adodbzip类实例
2014/12/08 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
屏蔽相应键盘按钮操作
2014/03/10 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
利用nginx + node在阿里云部署https的步骤详解
2017/12/19 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
JS实现可针对算术表达式求值的计算器功能示例
2018/09/04 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
python文件写入实例分析
2015/04/08 Python
python字典键值对的添加和遍历方法
2016/09/11 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
解决django后台管理界面添加中文内容乱码问题
2019/11/15 Python
python搜索算法原理及实例讲解
2020/11/18 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
关于老式浏览器兼容HTML5和CSS3的问题
2016/06/01 HTML / CSS
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
致短跑运动员广播稿
2014/01/09 职场文书
夜不归宿检讨书
2014/02/25 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
个人先进材料范文
2014/12/30 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书