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 八种基本的数据类型小结
Jun 01 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
php 模拟post_验证页面的返回状态(实例讲解)
Oct 28 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
php实现读取超大文件的方法
Jul 28 PHP
php实现上传图片保存到数据库的方法
Feb 11 PHP
详解PHP中的状态模式编程
Aug 11 PHP
php文件上传后端处理小技巧
May 22 PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 PHP
Laravel框架中VerifyCsrfToken报错问题的解决
Aug 30 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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正则表达匹配中文问题分析小结
2012/03/25 PHP
php实现图片添加水印功能
2014/02/13 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
javascript 常用代码技巧大收集
2009/02/25 Javascript
javascript 读取图片文件的大小
2009/06/25 Javascript
JavaScript 常用函数
2009/12/30 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
ajax java 实现自动完成功能
2012/12/19 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
详解javascript函数的参数
2015/11/10 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
python递归法实现简易连连看小游戏
2020/03/25 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
Python 操作 ElasticSearch的完整代码
2019/08/04 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
python实现贪吃蛇双人大战
2020/04/18 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
Python如何对XML 解析
2020/06/28 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
文秘专业个人求职信
2013/12/22 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
公司员工辞职信范文
2015/05/12 职场文书
公司晚会主持词
2019/04/17 职场文书
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL