国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php 生成N個不重復的隨機數實例詳解

2024-09-04 11:48:05
字體:
來源:轉載
供稿:網友

生成隨機數時用了mt_rand() 函數,這個函數生成隨機數的平均速度要比 rand() 快四倍。 

去除數組中的重復值時用了“翻翻法”,就是用 array_flip() 把數組的 key 和 value 交換兩次,這種做法比用 array_unique() 快得多。 

返回數組前,先使用 shuffle() 為數組賦予新的鍵名,保證鍵名是 0-n 連續的數字,如果不進行此步驟,可能在刪除重復值時造成鍵名不連續,給遍歷帶來麻煩,實例代碼如下:

  1. /**  
  2.  * 生成一定數量的不重復隨機數  
  3.  * @param int $min ,$max指定隨機數的范圍  
  4.  * @param int $max  
  5.  * @param int $num 指定生成數量  
  6.  * @return array  
  7.  */ 
  8. function unique_rand($min$max$num) {  
  9.     $count = 0;  
  10.     $return = array();  
  11.     while ($count < $num) {  
  12.         $return[] = mt_rand($min$max);  
  13.         $return = array_flip(array_flip($return));  
  14.         $count = count($return);  
  15.     }  
  16.     shuffle($return);  
  17.     return $return;  
  18. }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘孜| 偃师市| 石棉县| 禹州市| 五大连池市| 台南市| 阜阳市| 宣恩县| 崇明县| 汽车| 洛阳市| 卢龙县| 黎城县| 平顶山市| 阿克苏市| 武夷山市| 仁化县| 永仁县| 旅游| 金沙县| 新蔡县| 哈尔滨市| 平原县| 酒泉市| 岳阳县| 清河县| 华蓥市| 迁安市| 延寿县| 榆林市| 定兴县| 南丰县| 昭通市| 清徐县| 北票市| 翁牛特旗| 禄丰县| 原平市| 古蔺县| 枣强县| 高阳县|