Rumah > pembangunan bahagian belakang > tutorial php > 指定范围内多个不重复随机数

指定范围内多个不重复随机数

WBOY
Lepaskan: 2016-06-13 12:17:15
asal
1073 orang telah melayarinya

求一个指定范围内多个不重复随机数~
例如500以内6个不重复数
又快又省最好了
谢谢高手了!
------解决思路----------------------

<br /><?php <br /><br />function unique_random(& $result, $size=6, $min=0, $max=500){<br />    $num = mt_rand($min, $max);<br />    !in_array($num, $result) && array_push($result, $num);<br />    <br />    return count($result) >= $size ? $result : unique_random($result, $size, $min, $max);<br />}<br />$result = array();<br />unique_random($result);<br />print_r($result);<br /><br />
Salin selepas log masuk


<br />Array<br />(<br />    [0] => 132<br />    [1] => 351<br />    [2] => 43<br />    [3] => 425<br />    [4] => 449<br />    [5] => 269<br />)<br />
Salin selepas log masuk

------解决思路----------------------
500个这么小的pool,完全可以用空间换时间。
<br />$arr = array();<br />for($i=1;$i<=500; $i++){<br />    array_push($arr, $i);<br />}<br /><br />shuffle($arr);<br />$ret = array_slice($arr, 0, 6);<br />print_r($ret);<br />
Salin selepas log masuk

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan