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 相关文章推荐
一个改进的UBB类
Oct 09 PHP
php 设计模式之 单例模式
Dec 19 PHP
php 信息采集程序代码
Mar 17 PHP
php中Smarty模板初体验
Aug 08 PHP
ThinkPHP中自定义目录结构的设置方法
Aug 15 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
php常用图片处理类
Mar 16 PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 PHP
PHP有序表查找之二分查找(折半查找)算法示例
Feb 09 PHP
php 可变函数使用小结
Jun 12 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
php源码的使用方法讲解
Sep 26 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 json_encode奇怪问题说明
2011/09/27 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
php+webSoket实现聊天室示例代码(附源码)
2017/02/17 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
css样式标签和js语法属性区别
2013/11/06 Javascript
JS过滤url参数特殊字符的实现方法
2013/12/24 Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
2015/08/07 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
2018/08/31 Javascript
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python中int()函数的用法浅析
2017/10/17 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
学python爬虫能做什么
2020/07/29 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
土木工程应届生自荐信
2013/09/24 职场文书
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
面试求职的个人自我评价
2013/11/16 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
升职感谢领导的话语及升职感谢信
2019/06/24 职场文书
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js
Java 数组内置函数toArray详解
2021/06/28 Java/Android
Web应用开发TypeScript使用详解
2022/05/25 Javascript