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.MVC的模板标签系统(二)
Sep 05 PHP
聊天室php&amp;mysql(三)
Oct 09 PHP
php与php MySQL 之间的关系
Jul 17 PHP
php实现的CSS更新类实例
Sep 22 PHP
php实现的ping端口函数实例
Nov 12 PHP
php+Mysqli利用事务处理转账问题实例
Feb 11 PHP
Apache服务器下防止图片盗链的办法
Jul 06 PHP
PHP编程中尝试程序并发的几种方式总结
Mar 21 PHP
joomla组件开发入门教程
May 04 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
老生常谈PHP面向对象之命令模式(必看篇)
May 24 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
再说下636单管机
2021/03/02 无线电
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
2014/11/19 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
javascript 必知必会之closure
2009/09/21 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
js跳转页面方法总结
2014/01/29 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
详解Vue.js分发之作用域槽
2017/06/13 Javascript
JavaScript解析任意形式的json树型结构展示
2017/07/23 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
Python中异常重试的解决方案详解
2017/05/05 Python
python用户管理系统
2018/03/13 Python
Python合并同一个文件夹下所有PDF文件的方法
2019/03/11 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
基于python+selenium的二次封装的实现
2020/01/06 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
网站开发实习生的自我评价
2013/12/11 职场文书
派出所副所长四风问题个人整改措施思想汇报
2014/10/13 职场文书
免职证明样本
2014/10/23 职场文书
平遥古城导游词
2015/02/03 职场文书
护士个人年度总结范文
2015/02/13 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
教你修复 Win11应用商店加载空白问题
2021/12/06 数码科技