本文实例讲述了PHP获取redis里不存在的6位随机数的方法。分享给大家供大家参考,具体如下:
PHP获取6位数随机数
PHP str_shuffle()
函数
str_shuffle() 函数随机打乱字符串中的所有字符。
参数 | 描述 |
---|---|
string | 必需。规定要打乱的字符串。 |
用php的str_shuffle函数:
1
2
3
4
|
<?php $randStr = str_shuffle ( 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' ); $rand = substr ( $randStr ,0,6); ?> |
实例:获取redis里面不存在的6位随机数(设置24小时过时)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$port_number = '1605D1BCC6C8027BA0223147652D67D6' ; $send_number = $this ->getSixRandNumber(); $rs = $this ->redis->setKeyValue( 'ports:' . $send_number , $port_number ); //以秒为最小单位 $this ->redis->setTimeout( 'ports:' . $send_number ,24*3600); /** * 获取6位数随机数 */ protected function getSixRandNumber(){ $randStr = str_shuffle ( '1234567890' ); $rand = substr ( $randStr ,0,6); $port = $this ->redis->getItemByKey( 'ports:' . $rand ); //存在的重新取 if ( $port != null){ return $this ->getSixRandNumber(); } return $rand ; } |
PS:这里再为大家提供两款功能类似的在线工具供大家参考:
在线随机数字/字符串生成工具:https://tool.zzvips.com/t/randkey/
希望本文所述对大家PHP程序设计有所帮助。