Five ways to generate non-repetitive random numbers in PHP

黄舟
Release: 2023-03-17 10:06:01
Original
11901 people have browsed it

In the previous article, I introduced the method of generating random numbers in PHP. We all know that PHP random numbers are an indispensable part whether in development or in mobile applications. They are often used in daily development. Dealing with PHP random numbers, so today I will introduce to you five ways to generate PHP random numbers without repetition!

The first way:

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

The second way

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

The third way

<?php 
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()); 
?>
Copy after login


The above can generate 5 non-repeating php random numbers between 1-20

The fourth way

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


The fifth way

<?php 
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>
Copy after login

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

Summary:

PHP provides a very rich set of array functions. Most PHP random numbers can be generated from the perspective of arrays. Of course If you have a better method, I hope it will be helpful to you. This article can be considered as a starting point.

Related recommendations:

php random number generation method


PHP random number


##php random number WeChat Red envelope random generation algorithm php version


#

The above is the detailed content of Five ways to generate non-repetitive random numbers in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template