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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
php提取字符串中网站url地址的方法
Dec 03 PHP
php实现通过ftp上传文件
Jun 19 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
php将html转成wml的WAP标记语言实例
Jul 08 PHP
PHP实现JS中escape与unescape的方法
Jul 11 PHP
php中this关键字用法分析
Dec 07 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
php设计模式之装饰模式应用案例详解
Jun 17 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
WordPress判断用户是否登录的代码
2011/03/17 PHP
PHP 简易输出CSV表格文件的方法详解
2013/06/20 PHP
php天翼开放平台短信发送接口实现方法
2014/12/22 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
JavaScript+CSS实现的可折叠二级菜单实例
2016/02/29 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
详解JS数值Number类型
2018/02/07 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
详解python while 函数及while和for的区别
2018/09/07 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
html5使用canvas绘制一张图片
2014/12/15 HTML / CSS
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
阿里巴巴Oracle DBA笔试题答案-备份恢复类
2013/11/20 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
运动会广播稿500字
2014/01/28 职场文书
社区国庆节活动方案
2014/02/05 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
入党转正申请报告
2015/05/15 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
创业计划书之少年玩具店
2019/09/05 职场文书
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
WINDOWS 64位 下安装配置mysql8.0.25最详细的教程
2022/03/22 MySQL
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js