ホームページ >バックエンド開発 >PHPチュートリアル >指定された範囲内の複数の一意の乱数

指定された範囲内の複数の一意の乱数

WBOY
WBOYオリジナル
2016-06-13 12:17:151075ブラウズ

指定された範囲内で複数の非繰り返しの乱数を見つけます~
たとえば、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 />


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

-----ソリューションのアイデア----------------------
500 はとても小さいプールはスペースと時間を完全に交換できます。
<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 />

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。