php生產八位隨機數字,php函數生成隨機數

本文目錄一覽:

php怎麼生成隨機數

//隨機數函數,$length為隨機的數字長度

function randomkeys($length)

{

$key = “”;

$pattern=’1234567890abcdefghijklmnopqrstuvwxyz’;

for($i=0;$i$length;$i++)

{

$key .= $pattern{mt_rand(0,35)}; //生成php隨機數

}

return $key;

}

$a = randomkeys(1);

$b = randomkeys(1);

$c = randomkeys(1);

//如果要隨機生成N個字元,則只需要

echo randomkeys(5);

php:如何生成隨機的唯一字母數字字元串

1. 自己寫代碼產生隨機的數字和字母組合,每產生1個去資料庫查詢該隨機碼是否已存在,如果已存在,則重新產生,直到不重複為止。

缺點:產生速度慢,還要查詢資料庫,當數據量大的時候,可能重複的機率會比較高,要查詢多次資料庫.

2. guid,該方法應該是用的比較多的。

優點:使用簡單方便,不用自己編寫額外的代碼

缺點:佔用資料庫空間相對較大,特別是根據guid查詢速度比較慢(畢竟是字元串)。

3. 主鍵+隨機碼的方式,我們產生的隨機碼保存到資料庫肯定會有個主鍵,用該主鍵+隨機字元來組合。產生步驟:

1) 先從id生成器中獲取id,比如是155.

2)填充成固定位數(比如8位)的字元串(不夠位數的左邊填0,超過位數直接使用該數字),得到:00000155

3)在每個數字後面隨機插入1個字母或其它非數字元號,得到:0A0F0R0Y0H1K5L5M

這樣就可以得到1個隨機的唯一的邀請碼了。

優點:使用也比較簡單,不用查詢資料庫。最大的優點是查詢的時候,可以根據邀請碼直接得到主鍵id,然後根據id去資料庫查詢(速度很快),再比較查詢出來的邀請碼和用戶提交的邀請碼是否一致。

缺點:需要使用id產生器,如果主鍵是資料庫自增長的就不太好用(需要先插入資料庫獲取id,再更新邀請碼)。

4. 有時候產品經理說,我要求邀請碼都是數字的。把方法3變通下就可以實現唯一的純數字隨機碼了。

1) 獲取id: 155

2) 轉換成8進位:233

3) 轉為字元串,並在後面加’9’字元:2339

4)在後面隨機產生若干個隨機數字字元:2003967524987

轉為8進位後就不會出現9這個字元,然後在後面加個’9’,這樣就能確定唯一性。最後在後面產生一些隨機數字就可以。

PHP時間內隨機生成數字

如果實際情況和你給出的例子這麼簡單,那就沒有必要隨機生成,使用 shuffle 打亂 array 其實就等於隨機了。

$arr = array(1,2,3,4,5);

print_r($arr); // 輸出 1,2,3,4,5

shuffle($arr); // 打亂順序

print_r($arr); // 輸出打亂順序的數字

或者,使用rand隨機生成。先複製一個相同的array,每生成一個隨機數,就把它從array中刪除,然後在剩餘的數字中再生成隨機。

$arr = array(1,2,3,4,5);

$arr_tmp = $arr;

for($i = 0; $i count($arr_tmp) + $i; $i++) {

$rand = rand(0, count($arr_tmp) – 1);

echo “p第”.($i + 1).”個隨機數:”.$arr_tmp[$rand].”/p”;

unset($arr_tmp[$rand]);

$arr_tmp = array_values($arr_tmp);

}

PHP基於自增數據如何生成不重複的隨機數示例

1、 $base 基數組 如果是8位這個數組必須是8位

2、 $i 自增數,自增數不能超過8位數

當前簡單分析的結果就是以上。大家如果是全局不重複,還是建議使用uuid之類的比較合適。

求php生成多個隨機數代碼

$str = “abcdef123456”; //定義一串字元串

$strlen = strlen($str); //獲取字元串的長度(12)

$rand = intval(rand(0,$strlen-1)); //在字元串的長度範圍內隨機取一個字元,字元長度不能大於字元本身的長度所以-1

$str_a = substr($str,$rand,1); //取出字元

//取六個隨機數

$randstr = ”; //聲明一個變數

$randarr = array(); //聲明一個數組

for($i = 1; $i 30; $i++){

$rand6 = intval(rand(0,$strlen-1));

$str_a6 = substr($str,$rand6,1);

if(!in_array($str_a6,$randarr)){

$randstr .= $str_a6;

array_push($randarr,$str_a6);

if(count($randarr)==6){

break;

}

}

}

echo $randstr;

原創文章,作者:IDIQ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/132538.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IDIQ的頭像IDIQ
上一篇 2024-10-03 23:52
下一篇 2024-10-03 23:52

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字元串操作中,capitalize函數常常被用到,這個函數可以使字元串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python循環符合要求數字求和

    這篇文章將詳細介紹如何通過Python循環符合要求數字求和。如果你想用Python求和但又不想手動輸入數字,那麼本文將是一個不錯的選擇。 一、使用while循環實現求和 sum =…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機列印函數

    單片機列印是指通過串口或並口將一些數據列印到終端設備上。在單片機應用中,列印非常重要。正確的列印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的列印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變數時顯示的指定變數類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29

發表回復

登錄後才能評論