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
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
探讨PHP删除文件夹的三种方法
Jun 09 PHP
mac下Apache + MySql + PHP搭建网站开发环境
Jun 02 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
PHP callback函数使用方法和注意事项
Jan 23 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
tp5 sum某个字段相加得到总数的例子
Oct 18 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
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
php笔记之:php数组相关函数的使用
2013/04/26 PHP
PHP5函数小全(分享)
2013/06/06 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
PHP7中I/O模型内核剖析详解
2019/04/14 PHP
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
超赞的动手创建JavaScript框架的详细教程
2015/06/30 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
jQuery实现动态操作table行
2020/11/23 jQuery
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
[45:16]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第一场 12.12
2020/12/16 DOTA
Python解析并读取PDF文件内容的方法
2018/05/08 Python
Django框架反向解析操作详解
2019/11/28 Python
pytorch的batch normalize使用详解
2020/01/15 Python
python实现PCA降维的示例详解
2020/02/24 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
UGG雪地靴德国官网:UGG德国
2016/11/19 全球购物
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
质量负责人任命书
2014/06/06 职场文书
学习考察心得体会
2014/09/04 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
驻村工作简报
2015/07/20 职场文书