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 相关文章推荐
PHP中的加密功能
Oct 09 PHP
SMARTY学习手记
Jan 04 PHP
php zend解密软件绿色版测试可用
Apr 14 PHP
PHP clearstatcache()函数详解
Mar 02 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
php文件上传的例子及参数详解
Dec 12 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
joomla数据库操作示例代码
Jan 06 PHP
php脚本运行时的超时机制详解
Feb 17 PHP
Laravel中如何轻松容易的输出完整的SQL语句
Jul 26 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
PHP冒泡算法详解(递归实现)
2014/11/10 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
jquery 插件 任意位置浮动固定层
2008/12/25 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
js中 关于undefined和null的区别介绍
2013/04/16 Javascript
JS操作数据库的实例代码
2013/10/17 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
vue.js 实现点击按钮动态添加li的方法
2018/09/07 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
python使用arcpy.mapping模块批量出图
2017/03/06 Python
Python中property属性实例解析
2018/02/10 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
Keras 使用 Lambda层详解
2020/06/10 Python
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
高三毕业生自我鉴定
2013/12/20 职场文书
前处理班长职位说明书
2014/03/01 职场文书
演讲主持词
2014/03/18 职场文书
ktv筹备计划书
2014/05/03 职场文书
辞职信如何写
2015/02/27 职场文书
答辩状格式范本
2015/05/22 职场文书
公司开业主持词
2015/07/02 职场文书