PHP生成随机字符串实例代码(字母+数字)


Posted in PHP onSeptember 11, 2019

当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度

function randomkeys($length) 
{ 
 $pattern = '1234567890abcdefghijklmnopqrstuvwxyz 
    ABCDEFGHIJKLOMNOPQRSTUVWXYZ;
 for($i=0;$i<$length;$i++) 
 { 
  $key .= $pattern{mt_rand(0,35)}; //生成php随机数 
 } 
 return $key; 
} 
echo randomkeys(8);

另一种用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码表

信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。

八进制 十六进制 十进制 字符 八进制 十六进制 十进制 字符
00 00 0 nul 100 40 64 @
01 01 1 soh 101 41 65 A
02 02 2 stx 102 42 66 B
03 03 3 etx 103 43 67 C
04 04 4 eot 104 44 68 D
05 05 5 enq 105 45 69 E
06 06 6 ack 106 46 70 F
07 07 7 bel 107 47 71 G
10 08 8 bs 110 48 72 H
11 09 9 ht 111 49 73 I
12 0a 10 nl 112 4a 74 J
13 0b 11 vt 113 4b 75 K
14 0c 12 ff 114 4c 76 L
15 0d 13 er 115 4d 77 M
16 0e 14 so 116 4e 78 N
17 0f 15 si 117 4f 79 O
20 10 16 dle 120 50 80 P
21 11 17 dc1 121 51 81 Q
22 12 18 dc2 122 52 82 R
23 13 19 dc3 123 53 83 S
24 14 20 dc4 124 54 84 T
25 15 21 nak 125 55 85 U
26 16 22 syn 126 56 86 V
27 17 23 etb 127 57 87 W
30 18 24 can 130 58 88 X
31 19 25 em 131 59 89 Y
32 1a 26 sub 132 5a 90 Z
33 1b 27 esc 133 5b 91 [
34 1c 28 fs 134 5c 92 \
35 1d 29 gs 135 5d 93 ]
36 1e 30 re 136 5e 94 ^
37 1f 31 us 137 5f 95 _
40 20 32 sp 140 60 96 '
41 21 33 ! 141 61 97 a
42 22 34 " 142 62 98 b
43 23 35 # 143 63 99 c
44 24 36 $ 144 64 100 d
45 25 37 % 145 65 101 e
46 26 38 & 146 66 102 f
47 27 39 ` 147 67 103 g
50 28 40 ( 150 68 104 h
51 29 41 ) 151 69 105 i
52 2a 42 * 152 6a 106 j
53 2b 43 + 153 6b 107 k
54 2c 44 , 154 6c 108 l
55 2d 45 - 155 6d 109 m
56 2e 46 . 156 6e 110 n
57 2f 47 / 157 6f 111 o
60 30 48 0 160 70 112 p
61 31 49 1 161 71 113 q
62 32 50 2 162 72 114 r
63 33 51 3 163 73 115 s
64 34 52 4 164 74 116 t
65 35 53 5 165 75 117 u
66 36 54 6 166 76 118 v
67 37 55 7 167 77 119 w
70 38 56 8 170 78 120 x
71 39 57 9 171 79 121 y
72 3a 58 : 172 7a 122 z
73 3b 59 ; 173 7b 123 {
74 3c 60 174 7c 124 |
75 3d 61 = 175 7d 125 }
76 3e 62 > 176 7e 126 ~
77 3f 63 ? 177 7f 127 del

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
php下保存远程图片到本地的办法
Aug 08 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
Aug 08 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
Laravel 4 初级教程之视图、命名空间、路由
Oct 30 PHP
CI框架Session.php源码分析
Nov 03 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
Mar 17 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
PHP内核探索之变量
Dec 22 PHP
PHP设计模式之状态模式定义与用法详解
Apr 02 PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 PHP
tp5 实现列表数据根据状态排序
Oct 18 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 #PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
Sep 11 #PHP
Laravel框架验证码类用法实例分析
Sep 11 #PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
Sep 10 #PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 #PHP
PHP创建XML的方法示例【基于DOMDocument类及SimpleXMLElement类】
Sep 10 #PHP
mysqli扩展无法在PHP7下升级问题的解决
Sep 10 #PHP
You might like
php程序之die调试法 快速解决错误
2009/09/17 PHP
关于使用key/value数据库redis和TTSERVER的心得体会
2013/06/28 PHP
Mac环境下php操作mysql数据库的方法分享
2015/05/11 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
(currentStyle)javascript为何有时用style得不到已设定的CSS的属性
2007/08/15 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
JavaScript和CSS交互的方法汇总
2014/12/02 Javascript
javascript中var的重要性分析
2015/02/11 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
javasript实现密码的隐藏与显示
2015/05/08 Javascript
Vue.js双向绑定操作技巧(初级入门)
2016/12/27 Javascript
为你的微信小程序体积瘦身详解
2017/05/20 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
2020/03/31 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
Python 通过pip安装Django详细介绍
2017/04/28 Python
简单实现python进度条脚本
2017/12/18 Python
Python引用计数操作示例
2018/08/23 Python
python 多个参数不为空校验方法
2019/02/14 Python
python语言基本语句用法总结
2019/06/11 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
应届行政管理专业个人自我评价
2013/12/28 职场文书
集团公司人力资源部岗位职责
2014/01/03 职场文书
社区庆中秋节活动方案
2014/02/07 职场文书
消防先进事迹材料
2014/02/10 职场文书
人事专员的职责
2014/02/26 职场文书
高三教师工作总结2015
2015/07/21 职场文书
新党员入党决心书
2015/09/22 职场文书