发新话题
打印

[编程代码] 用PHP,在1-20间随机产生5个不重复的值,如何做?

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

<?php 7 x' r3 Q- y6 ~2 a7 N
function NoRand($begin=0,$end=20,$limit=5){
$ t, H, o2 Y8 C4 ?  _( x$rand_array=range($begin,$end); 5 ]( S8 d  w, a1 c9 s3 v) |% N
shuffle($rand_array);//调用现成的数组随机排列函数   P7 D" p* ]/ X
return array_slice($rand_array,0,$limit);//截取前$limit个 # y+ r, {) ~! G3 @8 ~1 J  d7 X
} " _! Q# W/ y/ e2 Q
print_r(NoRand());
/ B. r, V- \0 ~* j4 i  h! C?> 2 ^4 L! ~6 W) v6 S
或者不shuffle的话
0 o( K3 k$ J! J" B<?php ! D, {* b3 o+ t& n: J
$tmp=array(); 2 N6 k4 [* e! n5 B. d% P/ W9 K
while(count($tmp)<5){
/ v; O9 ?$ g7 j+ ]& w- j$tmp[]=mt_rand(1,20);
$ H5 U% h6 y( m! ~$ Y1 Q$tmp=array_unique($tmp); 9 f" O2 q; d! I2 @) m' P! ?( f% E
} 1 D6 {0 s9 n4 Q. s2 U: q( d4 z
print join(',',$tmp); - E. N/ _, d2 _! a( P
?>
发新话题