當前位置:首頁 » 編程語言 » php生成唯一id

php生成唯一id

發布時間: 2022-06-13 16:30:18

Ⅰ 如何使用php生成唯一ID的4種方法

方法1

<?php
$numbers=range(1,50);
//shuffle將數組順序隨即打亂
shuffle($numbers);
//array_slice取該數組中的某一段
$num=6;
$result=array_slice($numbers,0,$num);
print_r($result);
?>

方法二

<?php
$numbers=range(1,20);
//播下隨機數發生器種子,可有可無,測試後對結果沒有影響
srand((float)microtime()*1000000);
shuffle($numbers);
//跳過list第一個值(保存的是索引)
while(list(,$number)=each($numbers)){
echo"$number";
}
?>

方法三

<?php
functionNoRand($begin=0,$end=20,$limit=5){
$rand_array=range($begin,$end);
shuffle($rand_array);//調用現成的數組隨機排列函數
returnarray_slice($rand_array,0,$limit);//截取前$limit個
}
print_r(NoRand());
?>

方法四

<?php
$tmp=array();
while(count($tmp)<5){
$tmp[]=mt_rand(1,20);
$tmp=array_unique($tmp);
}
print_r($tmp);
?>

方法五

<?php
$tmp=range(1,30);
print_r(array_rand($tmp,10));
?>

都在這咯,希望可以幫到你

Ⅱ php 生成唯一id的幾種解決方法

1、md5(time() . mt_rand(1,1000000));
這種方法有一定的概率會出現重復
2、php內置函數uniqid()
uniqid() 函數基於以微秒計的當前時間,生成一個唯一的 ID.
方法返回結果類似:5DDB650F-4389-F4A9-A100-501EF1348872

Ⅲ php微信開發,微信有什麼可以獲取的唯一標識一個用戶的變數嗎怎麼獲取

唯一標識是openid,獲取方法參考微信api相關文檔,這個回答好像是廢話,但我只能這么回答

Ⅳ 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生成一個16位數的id 並在指定的文件創建id文件夾

1234<?php$id = substr(md5(uniqid()), 0,16);mkdir('./abc/'.$id);?>
uniqid()
生成一個唯一的id值,在MD5加密成32位數完後,截取16為的字元。
在當前目錄下abc目錄下創建文件夾。
望採納
Thx

Ⅵ PHP如何隨機生成一個唯一的id

可以用生成訂單編號的邏輯,在進行加密。來生成唯一的隨機的ID
$str = date('Ymdhis').IP地址.設備信息.用戶ID.rand(0,1000) ;
///拼接起來,再轉換為2進制,你看一下是不是唯一的。隨機的。

Ⅶ thinkphp5.0在後端在將數據插入資料庫的時候,想在後端的代碼生成一個類型為bigint的唯一id怎樣寫

把表的主鍵設置為 bigint 類型,自增,這樣插入時候就是唯一的了,每次預設狀態下就是唯一自增得

Ⅷ 怎麼讓php生成唯一數字ID的重復度降低

uniqid() 函數基於以微秒計的當前時間,生成一個唯一的 ID
uniqid(prefix,more_entropy)

prefix 可選。為 ID 規定前綴。如果兩個腳本恰好在相同的微秒生成 ID,該參數很有用。
more_entropy 可選。規定位於返回值末尾的更多的熵。
如果 prefix 參數為空,則返回的字元串有 13 個字元串長。如果 more_entropy 參數設置為 true,則是 23 個字元串長。
如果 more_entropy 參數設置為 true,則在返回值的末尾添加額外的熵(使用組合線形同餘數生成程序),這樣可以結果的唯一性更好。

Ⅸ php 隨機生成不重復用戶ID

php可以使用uniqid函數生成唯一的ID

uniqid — 生成一個唯一ID

stringuniqid([string$prefix=""[,bool$more_entropy=false]])

獲取一個帶前綴、基於當前時間微秒數的唯一ID。

參數說明:

prefix:有用的參數。例如:如果在多台主機上可能在同一微秒生成唯一ID。

prefix為空,則返回的字元串長度為13。more_entropy 為 TRUE,則返回的字元串長度為23。

more_entropy:如果設置為 TRUE,uniqid() 會在返回的字元串結尾增加額外的煽(使用combined linear congruential generator)。使得唯一ID更具唯一性。

返回值:

返回字元串形式的唯一ID。

熱點內容
nsftp速度 發布:2025-02-07 10:30:58 瀏覽:430
存儲過程ifor 發布:2025-02-07 10:25:28 瀏覽:432
命令行執行oracle腳本文件命令行 發布:2025-02-07 10:14:49 瀏覽:95
ibook安卓怎麼下 發布:2025-02-07 10:12:13 瀏覽:692
銀行卡沒有密碼怎麼辦啊 發布:2025-02-07 10:08:13 瀏覽:30
游戲庫源碼 發布:2025-02-07 09:49:15 瀏覽:53
享宇錢包上傳不了照片 發布:2025-02-07 09:48:32 瀏覽:632
模擬器怎麼開安卓版本 發布:2025-02-07 09:42:35 瀏覽:771
c程序設計語言源碼 發布:2025-02-07 09:22:41 瀏覽:624
資料庫域的概念 發布:2025-02-07 09:22:40 瀏覽:640