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 相关文章推荐
Content-type 的说明
Oct 09 PHP
社区(php&amp;&amp;mysql)五
Oct 09 PHP
php cookie 登录验证示例代码
Mar 16 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
php操作xml入门之xml标签的属性分析
Jan 23 PHP
PHP使用NuSOAP调用Web服务的方法
Jul 18 PHP
常见的四种POST 提交数据方式(小总结)
Oct 08 PHP
ThinkPHP实现附件上传功能
Apr 27 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 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作为网站开发语言的原因分享
2012/01/03 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
PHP strcmp()和strcasecmp()的区别实例
2016/11/05 PHP
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
2013/06/26 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
Javascript字符串拼接小技巧(推荐)
2016/06/02 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
React-Native中props具体使用详解
2017/09/04 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
2018/08/28 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
python中from module import * 的一个坑
2014/07/20 Python
Python多线程实现同步的四种方式
2017/05/02 Python
分数霸榜! python助你微信跳一跳拿高分
2018/01/08 Python
Python查找最长不包含重复字符的子字符串算法示例
2019/02/13 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
如何Tkinter模块编写Python图形界面
2020/10/14 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
新西兰廉价汽车租赁:Snap Rentals
2018/09/14 全球购物
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
PyQt QMainWindow的使用示例
2021/03/24 Python
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
搞笑老公保证书
2015/02/26 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
2015年调度员工作总结
2015/04/30 职场文书