Home  >  Article  >  Backend Development  >  How to generate unique random numbers in PHP

How to generate unique random numbers in PHP

WBOY
WBOYOriginal
2016-08-08 09:33:16873browse

How to generate unique random numbers in PHP

Whether it is a web application, a WAP or a mobile application, random numbers have their place. In several small projects that I have been exposed to recently, I often need to deal with random numbers or random arrays. Therefore, I will summarize some common methods for how to generate non-repeating random numbers in PHP (ps: Methods 1, 4, and 5 are my Commonly used ones, the rest are collected from the Internet)

Method 1:

//shuffle 将数组顺序随即打乱  shuffle ($numbers); //array_slice 取该数组中的某一段  $num=6; 
$result = array_slice($numbers,0,$num); 
print_r($result); 
?>

Method 2:

//播下随机数发生器种子,可有可无,测试后对结果没有影响 srand ((float)microtime()*1000000); 
shuffle ($numbers); //跳过list第一个值(保存的是索引) while (list(, $number) = each ($numbers)) { echo "$number "; 
} 
?>

Method 3:

function NoRand($begin=0,$end=20,$limit=5){ 
$rand_array=range($begin,$end); 
shuffle($rand_array);//调用现成的数组随机排列函数  return array_slice($rand_array,0,$limit);//截取前$limit个  } 
print_r(NoRand()); 
?>

The above can randomly generate 5 non-repeating values ​​between 1-20

Method 4:

array(); while(count($tmp)<5){ 
$tmp[]=mt_rand(1,20); 
$tmp=array_unique($tmp); 
} 
print_r($tmp);
?>

Method 5:

This may be simpler than calling it (ps: if the step size is specified in the range, you must pay attention to whether the second parameter of array_rand exceeds the length of $tmp).



The above introduces how to generate non-repeating random numbers in PHP, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

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