PHP生成随机数的方法实例分析


Posted in PHP onJanuary 22, 2015

通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度。

function randomkeys($length)

{

$pattern = '1234567890abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l

t;>?;#:@~[]{}-_=+)(*&^%$?!'; //字符池

for($i=0;$i<$length;$i++)

{

$key .= $pattern{mt_rand(0,35)}; //生成php随机数

}

return $key;

}

echo randomkeys(8);

这个php随机函数能生成XC*=z~7L这样的字符串,够随机!现在介绍另一种用PHP生成随机数的方法:利用chr()函数,省去创建字符池的步骤。

function randomkeys($length)

{

$output='';

for ($a = 0; $a < $length; $a++) {

$output .= chr(mt_rand(33, 126)); //生成php随机数

}

return $output;

}

echo randomkeys(8);

在第二个php随机函数里,先用mt_rand()生成一个介于33到126之间的php随机数,然后用chr()函数转化成字符。查看ascii码表就会发现,33到126代表的正是第一个函数中字符池里的所有字符。第二个函数和第一个函数功能相同,而且更简洁。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php cli配置文件问题分析
Oct 15 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
php模拟post上传图片实现代码
Jun 24 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
解决laravel资源加载路径设置的问题
Oct 14 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 #PHP
PHP将HTML转换成文本的实现代码
Jan 21 #PHP
php使用Cookie控制访问授权的方法
Jan 21 #PHP
PHP+MySQL修改记录的方法
Jan 21 #PHP
PHP+MySQL删除操作实例
Jan 21 #PHP
PHP+MySQL插入操作实例
Jan 21 #PHP
php+mysql数据库查询实例
Jan 21 #PHP
You might like
用PHP来写记数器(详细介绍)
2006/10/09 PHP
PHP 巧用数组降低程序的时间复杂度
2010/01/01 PHP
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
解析javascript 浏览器关闭事件
2013/07/08 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
分享几种比较简单实用的JavaScript tabel切换
2015/12/31 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
浅谈KOA2 Restful方式路由初探
2019/03/14 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
JavaScript实现公告栏上下滚动效果
2020/03/13 Javascript
pygame实现雷电游戏雏形开发
2018/11/20 Python
pytorch 修改预训练model实例
2020/01/18 Python
Python批量安装卸载1000个apk的方法
2020/04/10 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
Superdry极度乾燥官网:日本街头风格,纯英国制造品牌
2016/10/31 全球购物
Shopee越南:东南亚与台湾电商平台
2019/02/03 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
介绍一下linux的文件权限
2012/02/15 面试题
大学生简短的自我评价分享
2014/02/20 职场文书
教师党员批评与自我批评发言稿
2014/10/15 职场文书
大雁塔英文导游词
2015/02/10 职场文书
怎样写家长意见
2015/06/04 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
初中生活随笔
2015/08/15 职场文书
2019生态环境保护倡议书!
2019/07/03 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记