How to generate non-repeating random numbers in php

coldplay.xixi
Release: 2023-03-05 06:24:01
Original
2869 people have browsed it

How to generate non-repeating random numbers in php: 1. Use the function shuffle to randomly disrupt the order of the array, and take a certain section of the array, the code is [shuffle ($numbers)]; 2. Call The ready-made array randomly arranges the functions and intercepts the first [$limit] ones.

How to generate non-repeating random numbers in php

[Related learning recommendations: php programming (video)]

php does not generate Method of repeating random numbers:

Method one:

The code is as follows:

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

Method two:

The code is as follows:

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

Method 3:

The code is as follows:

<?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 randomly generate 5 non-repeating values ​​between 1-20

Method 4:

The code is as follows:

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

Method 5:

The code is as follows:

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

This may be simpler than (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).

[Related learning recommendations: php graphic tutorial]

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

Related labels:
php
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!