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
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
Mar 03 PHP
PHPWind 发帖回帖Api PHP版打包下载
Feb 08 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
解析php如何将日志写进syslog
Jun 28 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
php给图片加文字水印
Jul 31 PHP
深入浅析php json 格式控制
Dec 24 PHP
简单谈谈php浮点数精确运算
Mar 10 PHP
PHP 无限级分类
May 04 PHP
使用PHPStorm+XDebug搭建单步调试环境
Nov 19 PHP
php单元测试phpunit入门实例教程
Nov 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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP getName()函数讲解
2019/02/03 PHP
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
判断输入的字符串是否是日期格式的简单方法
2016/07/11 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
vue开发心得和技巧分享
2016/10/27 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
《陋室铭》教学反思
2014/02/26 职场文书
医学专业应届生的自我评价
2014/02/28 职场文书
大二学习计划书范文
2014/04/27 职场文书
法制宣传月活动方案
2014/05/11 职场文书
企业宣传工作方案
2014/06/02 职场文书
体育节口号
2014/06/19 职场文书
语文教育专业求职信
2014/06/28 职场文书
2015年少先队活动总结
2015/03/25 职场文书
小兵张嘎观后感300字
2015/06/03 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
销售会议开幕词
2016/03/04 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL