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 相关文章推荐
综合图片计数器
Oct 09 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
PHP新手NOTICE错误常见解决方法
Dec 07 PHP
php通过COM类调用组件的实现代码
Jan 11 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
ThinkPHP 表单自动验证运用示例
Oct 13 PHP
Ubuntu12下编译安装PHP5.3开发环境
Mar 27 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
php json中文编码为null的解决办法
Dec 14 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
Mar 30 PHP
PHP 超级全局变量相关总结
Jun 30 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绿色集成环境详解
2017/01/25 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
网页中可关闭的漂浮窗口实现可自行调节
2013/08/20 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
JavaScript 装逼指南(js另类写法)
2020/05/10 Javascript
原生JavaScript实现刮刮乐
2020/09/29 Javascript
基于ant design日期控件使用_仅月份的操作
2020/10/27 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
Python循环结构的应用场景详解
2019/07/11 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
使用TensorBoard进行超参数优化的实现
2020/07/06 Python
html5基础教程常用技巧整理
2013/08/20 HTML / CSS
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
Servlet面试题库
2015/07/18 面试题
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
个人简历自我评价
2014/01/06 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
后进生评语大全
2015/01/04 职场文书
收费员岗位职责
2015/02/14 职场文书
2015年女职工工作总结
2015/05/15 职场文书
草房子读书笔记
2015/06/29 职场文书
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js
基于Redission的分布式锁实战
2022/08/14 Redis