[英]PHP array_rand function get repeat result
您可以通過執行以下操作來確保它們不會重復:
$arr = range(1,10000);
$max = 30;
$time = 0;
$used = array();
while($time < $max){
$num = array_rand($arr);
if( ! in_array($num, $used) ){
echo $num . '<br>';
$used[] = $num;
$time++;
}
}
您無需使用! array_rand
接受最大隨機密鑰數作為第二個參數。
$arr = range(1,10000);
$max = 200;
$ran = array_rand($arr,$max);
var_dump($ran); // random keys
//tested with origin array $arr
//foreach($ran as $key) {
// echo $arr[$key]."<br>";
//}
因為隨機值不是唯一的。 除非您真的必須使用1到10,000之間的數字,否則為什么不考慮使用以下函數來獲取唯一的ID?
$number_and_letters = uniqid();
OR
$numbers_only = hexdec(uniqid());
希望能幫助到你!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.