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之require/include顺序 推荐
Jan 02 PHP
php curl常见错误:SSL错误、bool(false)
Dec 28 PHP
PHP Session机制简介及用法
Aug 19 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 PHP
WordPress开发中的get_post_custom()函数使用解析
Jan 04 PHP
PHP计算当前坐标3公里内4个角落的最大最小经纬度实例
Feb 26 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
Mar 21 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
Laravel 实现密码重置功能
Feb 23 PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 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内置函数使用指南
2014/11/27 PHP
php银联网页支付实现方法
2015/03/04 PHP
php将远程图片保存到本地服务器的实现代码
2015/08/03 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
全面了解PHP中的全局变量
2016/06/17 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
对YUI扩展的Gird组件 Part-1
2007/03/10 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
JavaScript中的无阻塞加载性能优化方案
2014/10/10 Javascript
javascript每日必学之循环
2016/02/19 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
javascript事件循环event loop的简单模型解释与应用分析
2020/03/14 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
Python3多线程基础知识点
2019/02/19 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
python3.6、opencv安装环境搭建过程(图文教程)
2019/11/05 Python
python扫描线填充算法详解
2020/02/19 Python
python计算auc的方法
2020/09/09 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
NULL是什么,它是怎么定义的
2015/05/09 面试题
劳动竞赛活动方案
2014/02/20 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
高老头读书笔记
2015/06/30 职场文书
请假条应该怎么写?
2019/06/24 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
关于python中模块和重载的问题
2021/11/02 Python