Home >php教程 >php手册 >PHP n个不重复的随机数生成代码

PHP n个不重复的随机数生成代码

WBOY
WBOYOriginal
2016-06-13 12:22:441007browse

复制代码 代码如下:


//range 是将1到100 列成一个数组
$numbers = range (1,100);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$no=6;
$result = array_slice($numbers,0,$no);
for ($i=0;$iecho $result[$i]."
";
}
print_r($result);
?>


复制代码 代码如下:


//range 是将1到42 列成一个数组
$numbers = range (1,42);
//shuffle 将数组顺序随即打乱
shuffle ($numbers);
//array_slice 取该数组中的某一段
$result = array_slice($numbers,0,3);
print_r($result);


方法2

复制代码 代码如下:


$numbers = range (1,20);
srand ((float)microtime()*1000000);
shuffle ($numbers);
while (list (, $number) = each ($numbers)) {
echo "$number ";
}
?>

方法3
用PHP,在1-20间随机产生5个不重复的值,如何做

复制代码 代码如下:


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());
?>


或者不shuffle的话

复制代码 代码如下:


$tmp=array();
while(count($tmp)$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print join(',',$tmp);
?>

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