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简单封装了一些常用JS操作
Feb 25 PHP
PHP clearstatcache()函数详解
Mar 02 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
PHP逐行输出(ob_flush与flush的组合)
Feb 04 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
深入extjs与php参数交互的详解
Jun 25 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
PHP5.3与5.5废弃与过期函数整理汇总
Jul 10 PHP
php实现给图片加灰色半透明效果的方法
Oct 20 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
PHP curl使用实例
Jul 02 PHP
PHP实现链式操作的三种方法详解
Nov 16 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获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
JavaScript设计模式之外观模式实例
2014/10/10 Javascript
Javascript基础教程之if条件语句
2015/01/18 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
详解AngularJS 模块化
2017/06/14 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
Python基于回溯法子集树模板解决取物搭配问题实例
2017/09/02 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
2019/01/30 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
python中的Elasticsearch操作汇总
2019/10/30 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
学习雷锋精神演讲稿
2014/05/10 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
社区法制宣传日活动总结
2015/05/05 职场文书
新党员入党决心书
2015/09/22 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技