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 相关文章推荐
Dedecms常用函数解析
Feb 01 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
php中有关合并某一字段键值相同的数组合并的改进
Mar 10 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
基于php的微信公众平台开发入门实例
Apr 15 PHP
基于php实现的php代码加密解密类完整实例
Oct 12 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
YII框架页面缓存操作示例
Apr 29 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 PHP
win10下 php安装seaslog扩展的详细步骤
Dec 04 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
DIY实用性框形天线
2021/03/02 无线电
php学习之简单计算器实现代码
2011/06/09 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
php采用ajax数据提交post与post常见方法总结
2014/11/10 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
一段实用的php验证码函数
2016/05/19 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
bootstrap使用validate实现简单校验功能
2016/12/02 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
JS字符串按逗号和回车分隔的方法
2017/04/25 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
如何实现一个简易版的vuex持久化工具
2019/09/11 Javascript
npx create-react-app xxx创建项目报错的解决办法
2020/02/17 Javascript
JS一次前端面试经历记录
2020/03/19 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python实现基本进制转换的方法
2015/07/11 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
python3实现表白神器
2019/04/09 Python
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
技术总监管理职责范本
2014/03/06 职场文书
优秀教师事迹材料
2014/12/15 职场文书
作文评语集锦
2014/12/25 职场文书
新教师个人工作总结
2015/02/06 职场文书