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 安装方法
Jan 15 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 PHP
如何用PHP来实现一个动态Web服务器
Jul 29 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
PHP调用API接口实现天气查询功能的示例
Sep 21 PHP
深入研究PHP中的preg_replace和代码执行
Aug 15 PHP
tp5框架使用composer实现日志记录功能示例
Jan 10 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 PHP
Laravel中Kafka的使用详解
Mar 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 和 MYSQL
2006/10/09 PHP
PHP has encountered a Stack overflow问题解决方法
2014/11/03 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
2015/03/13 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
js表单验证实例讲解
2016/03/31 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
python调用windows api锁定计算机示例
2014/04/17 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
使用pandas读取文件的实现
2019/07/31 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
详解anaconda安装步骤
2020/11/23 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
经理秘书岗位职责
2013/11/14 职场文书
工会主席岗位责任制
2014/02/11 职场文书
自主招生学校推荐信
2014/09/26 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
实验心得体会范文
2016/01/25 职场文书