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函数
Oct 03 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
PHP代码判断设备是手机还是平板电脑(两种方法)
Oct 19 PHP
[原创]CI(CodeIgniter)简单统计访问人数实现方法
Jan 19 PHP
php实现的debug log日志操作类实例
Jul 12 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP数组式访问接口ArrayAccess用法分析
Dec 28 PHP
php实现算术验证码功能
Dec 05 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
Mar 24 PHP
基于PHP的微信公众号的开发流程详解
Aug 07 PHP
PHP反射基础知识回顾
Sep 10 PHP
基于PHP实现发微博动态代码实例
Dec 11 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代码给图片加水印
2015/07/01 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
JavaScript学习点滴 call、apply的区别
2010/10/22 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
easyui combobox开启搜索自动完成功能的实例代码
2016/11/08 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
完美解决input[type=number]无法显示非数字字符的问题
2017/02/28 Javascript
简单的JS控制button颜色随点击更改的实现方法
2017/04/17 Javascript
深入理解nodejs中Express的中间件
2017/05/19 NodeJs
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
[01:10]DOTA2次级职业联赛 - Fly战队宣传片
2014/12/01 DOTA
Python编写百度贴吧的简单爬虫
2015/04/02 Python
python+matplotlib演示电偶极子实例代码
2018/01/12 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
美国在线工具商店:Acme Tools
2018/06/26 全球购物
党员实事承诺书
2014/03/26 职场文书
学生评语大全
2014/04/18 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
2015年酒店工作总结
2015/04/28 职场文书
中国古代史学名著《战国策》概述
2019/08/09 职场文书