PHP產生不重複隨機數的方法總結
本文總結了5種產生不重複隨機數的方法,其中方法一、二、三是本人常用的方法,方法四五來至度娘。其餘方法還是有的,也歡迎大家將遺漏的方法告之,大家共同進步
無論是Web應用,還是WAP或者移動應用,隨機數都有其用武之地。在最近接觸的幾個小項目中,我也經常需要和隨機數或隨機數組打交道,所以,對於PHP如何產生不重複隨機數常用的幾種方法小結一下。
方法一:
複製程式碼 程式碼如下:
$numbers = range (1,50);
//shuffle 將陣列順序隨即打亂
shuffle ($numbers);
//array_slice 取該陣列中的某一段
$num =6;
$result = array_slice($numbers,0,$num);
print_r($result);
?>
方法二:
複製程式碼 程式碼如下:
#$numbers = range (1,20);
//播下隨機數產生器種子,可有可無,測試後對結果沒有影響
srand ((float)microtime()*1000000);
shuffle ($numbers);
//跳過list第一個值(儲存的是索引)
while (list(, $number) = each ($numbers)) {
echo "$number ";
}
?>
方法三:
#複製程式碼 程式碼如下:
# function NoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array); //呼叫現成的陣列隨機排列函數
return array_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?> ;
上述可以在1-20間隨機產生5個不重複的值
#方法四:
複製程式碼 程式碼如下:
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>
方法五:
複製程式碼 程式碼如下:
$tmp = range(1,30);
print_r(array_rand($tmp,10));
?>
這個可能是比叫簡單的了(ps:如果在range中指定了步長,就必須注意array_rand的第二個參數是否超出$tmp的長度)。
PHP提供非常豐富的陣列函數,產生隨機數大多可以從陣列這個角度出發,當然如果你有更好的方法,也請告之,本文也算是拋磚引玉了。
您可能感興趣的文章:
微信紅包隨機產生演算法php版
#微信隨機產生紅包金額演算法php版
jquery php隨機產生紅包金額數量代碼分享
適用於抽獎程式、隨機廣告的PHP機率演算法實例
php中透過陣列進行高效隨機抽取指定筆記錄的演算法
php產生隨機數的三種方法
PHP n個不重複的隨機數產生程式碼
#PHP產生隨機字串(3種方法)
-
#PHP隨機字串產生程式碼(包括大小寫字母)
php隨機產生數字字母組合的方法
PHP實現的隨機紅包演算法範例
#
以上是PHP產生不重複隨機數的方法總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
