最近总是写有关php代码,PHP如何获取随机数字符串,随机数自定义长度。
接下来我讲述有关随机函数的问题,这个函数是可以说是万能的获取随机数函数,分享给大家使用。
A.这个函数的作用如下:
1.这个函数可以获取随机26个英文大写字母任意长度.
2.这个函数可以获取随机26个英文小写字母任意长度.
3.这个函数可以获取随机数字任意长度.
4.这个函数可以获取随机字符串(大写、小写和数字混合字符串)任意长度
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function getRandomString($len, $chars = null) { //这里定义了字符串所使用的字符,默认。 $CHARS_LOWERS = 'abcdefghijklmnopqrstuvwxyz'; $CHARS_UPPERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; $CHARS_DIGITS = '0123456789'; if (is_null($chars)) { $chars = $CHARS_LOWERS . $CHARS_UPPERS . $CHARS_DIGITS; } for ($i = 0, $str = '', $lc = strlen($chars)-1; $i < $len; $i++) { $str .= $chars[mt_rand(0, $lc)]; } return $str; } |
调用代码如下:
1 2 3 4 5 6 7 8 | //获取大写16位的大写随机字符串 echo getRandomString(16,'ABCDEFGHIJKLMNOPQRSTUVWXYZ')."\n"; //获取大写5位的小写随机字符串 echo getRandomString(5,'abcdefghijklmnopqrstuvwxyz')."\n"; //获取随机数字3位的长度 echo getRandomString(3,'0123456789')."\n"; //获取大写16位的随机字符串 echo getRandomString(16)."\n"; |
输出:
1 2 3 4 | NKBBPFODCLWEQOJH inbiu 116 W3qzeNatu2npqfdN |
B.下面这个函数可以生成唯一ID生成散列。
1 2 3 | function getUniqueHash($prefix = ''){ return $prefix . getRandomString(32); } |
直接得到散列ID了,是不是很强大的函数。
C.下面的这个代码如何获取两个数字之间的随机数,这对项目开发非常有用。
1 2 3 4 5 6 7 8 9 10 11 12 13 | //返回指定范围内的随机数 //一个介于最小值(或0)和最大值之间的随机整数值 function getRandomNumber($min = 0, $max = null) { if ($max < $min) { throw new Exception('Invalid range given.'); } if (null === $max) { $max = mt_getrandmax(); } return random_int($min, $max); } |
使用和输出:
1 2 3 4 5 | //调用输出随机一个1到100之间的数 (包括1和100) echo getRandomNumber(1,100); //输出 27 |
通过以上的讲解大家可以使用这个万能函数做form-key使用,可以做验证码的使用,可以得到随机数等等。
利用这个函数都可以直接做随机密码了
是的完全可以,随机密码和数据表单提交的form_key都可以的。
学习了
嗯,欢迎再来,我将每周更新最新文章