日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

php随机数字不重复,php生成N个不重复的随机数

發布時間:2025/3/21 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php随机数字不重复,php生成N个不重复的随机数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php生成N個不重復的隨機數

生成N個不重復的隨機數,如何在php中實現呢?本文分享的這例php代碼,可以實現隨機數的'生成,生成多個不重復的隨機數,有興趣的朋友參考下。

php生成N個不重復的隨機數的方法

需要生成1-25之間的16個不重復的隨機數,去填補。

思路:

將隨機數存入數組,再在數組中去除重復的值,即可生成一定數量的不重復隨機數。

例子:

復制代碼 代碼示例:

/*

* array unique_rand( int $min, int $max, int $num )

* 生成一定數量的不重復隨機數

* $min 和 $max: 指定隨機數的范圍

* $num: 指定生成數量

* site www.jbxue.com

*/

function unique_rand($min, $max, $num) {

$count = 0;

$return = array();

while ($count < $num) {

$return[] = mt_rand($min, $max);

$return = array_flip(array_flip($return));

$count = count($return);

}

shuffle($return);

return $return;

}

$arr = unique_rand(1, 25, 16);

sort($arr);

$result = '';

for($i=0; $i < count($arr);$i++)

{

$result .= $arr[$i].',';

}

$result = substr($result, 0, -1);

echo $result;

?>

運行結果:

2,3,4,6,7,8,9,10,11,12,13,16,20,21,22,24

說明:

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

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

返回數組前,先使用 shuffle() 為數組賦予新的鍵名,保證鍵名是 0-n 連續的數字。

若不進行此步驟,可能在刪除重復值時造成鍵名不連續,不利于遍歷。

【php生成N個不重復的隨機數】相關文章:

總結

以上是生活随笔為你收集整理的php随机数字不重复,php生成N个不重复的随机数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。