Home >Backend Development >PHP Tutorial >How to get a 6-digit random number that does not exist in redis with PHP

How to get a 6-digit random number that does not exist in redis with PHP

墨辰丷
墨辰丷Original
2018-05-21 17:52:141737browse

This article mainly introduces the method of PHP to obtain 6-digit random numbers that do not exist in redis. It can set a 24-hour expiration limit and involves PHP string and database related operation skills. Friends who need it can refer to it

PHP Gets a 6-digit random number

PHP str_shuffle() Function

str_shuffle() function randomly shuffles Garble all characters in the string.


stringUse php's str_shuffle function:
Parameter Description
Required. Specifies the string to be scrambled.

<?php
$randStr = str_shuffle(&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890&#39;);
$rand = substr($randStr,0,6);
?>

Example: Get redis A 6-digit random number that does not exist in it (set to expire in 24 hours)

$port_number = &#39;1605D1BCC6C8027BA0223147652D67D6&#39;;
$send_number = $this->getSixRandNumber();
$rs = $this->redis->setKeyValue(&#39;ports:&#39; . $send_number,$port_number);
//以秒为最小单位
$this->redis->setTimeout(&#39;ports:&#39; . $send_number,24*3600);
/**
* 获取6位数随机数
*/
protected function getSixRandNumber(){
$randStr = str_shuffle(&#39;1234567890&#39;);
$rand = substr($randStr,0,6);
$port = $this->redis->getItemByKey(&#39;ports:&#39; .$rand);
//存在的重新取
if($port != null){
return $this->getSixRandNumber();
}
return $rand;
}

Related recommendations:

php generates

random numberscharacters, letters or mixed strings of numbers and letters

JS generates a specified range

Random numbers and detailed explanation of random sequence methods
##What PHP generates

random numbers

Methods

##

The above is the detailed content of How to get a 6-digit random number that does not exist in redis with PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn