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 不错的学习资料
Feb 06 PHP
php无限极分类实现的两种解决方法
Apr 28 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
学习php设计模式 php实现适配器模式
Dec 07 PHP
PHP基于ORM方式操作MySQL数据库实例
Jun 21 PHP
PhpStorm本地断点调试的方法步骤
May 21 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
May 28 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
PHP利用递归函数实现无限级分类的方法
Mar 22 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 09 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
短波收音机简介
2021/03/01 无线电
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
深入掌握include_once与require_once的区别
2013/06/17 PHP
php中namespace use用法实例分析
2016/01/22 PHP
jqgrid 简单学习笔记
2011/05/03 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
JS面试题---关于算法台阶的问题
2016/07/26 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
解决vue+router路由跳转不起作用的一项原因
2020/07/19 Javascript
[01:29:17]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
pymongo实现多结果进行多列排序的方法
2015/05/16 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python和c语言的主要区别总结
2019/07/07 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
利用python下载scihub成文献为PDF操作
2020/07/09 Python
解决img标签上下出现间隙的方法
2016/12/14 HTML / CSS
HTML4和HTML5之间除了相似以外的10个主要不同
2012/12/13 HTML / CSS
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
校园环保广播稿(3篇)
2014/09/15 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
2014年管理工作总结
2014/11/22 职场文书
2015年办税服务厅工作总结
2015/07/23 职场文书
Python基于Tkinter开发一个爬取B站直播弹幕的工具
2021/05/06 Python
用JS实现飞机大战小游戏
2021/06/09 Javascript