當前位置:首頁 » 編程語言 » php隨機生成字元串

php隨機生成字元串

發布時間: 2022-07-17 17:15:24

A. 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',這樣就能確定唯一性。最後在後面產生一些隨機數字就可以。

B. 幫忙用PHP寫一個能隨機生成15個字母的字元串的代碼

function randStr($i){
$str = "abcdefghijklmnopqrstuvwxyz";
$finalStr = "";
for($j=0;$j<$i;$j++)
{
$finalStr .= substr($str,rand(0,25),1);
}
return $finalStr;
}
$str = randStr(15);
echo $str;

C. PHP 如何隨機生成24位 MD5加密後的字元串

md5是32位的,所以你需要先生成md5,再進行字元串截取,截取24個長度就是24位了。

生成隨機的為了不重復,可以使用當前時間戳,在加上隨機數就行

$date_string = date('Y') . date('m') . date('d') . date('H') . date('i') . date('s') . mt_rand(100000, 999999);

$md5_string = md5($date_string);

$string = substr($md5_string, 0, 24);

echo $string;

D. php 隨機生成長字元串並按規則進行多次分割

//生成簽名的隨機串

functioncreateNonceStr($length=34){

$chars="";

$str="";

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

if($i==8||$i==13||$i==18){

$str.='-';

}else{

$str.=substr($chars,mt_rand(0,strlen($chars)-1),1);

}

}

return$str;

}

$aa=createNonceStr();

echo$aa;

//////下面是注釋

if($i==8||$i==13||$i==18){這個代碼是判斷哪個分割符-的位置,34就是隨機字元和分割符一共是多少位的親測可用

E. thinkphp怎麼隨機生成字元串

自己用php寫生成隨機字元串方法,然後調用就行,可以把這個方法放到thinkphp裡面的function.php裡面去,控制器中直接調用這個方法就行,也可以在當前控制器裡面定義這個方法,然後用$this->方法名()調用就行。

F. 用PHP 隨機生成一個三十位全是數字的字元串,從中找出最大的5個數,輸出他們的乘積。

$arr=array();
$a=array();
for($i=0;$i<30;$i++){
$arr[]=mt_rand(1,999);//生成30個隨機數字
}
while(sizeof($arr)>25){
$max=max($arr);
$a[]=$max;//找到其中最大的5個數字
$max_pos=array_keys($arr,$max);
unset($arr[$max_pos[0]]);
}
echoarray_proct($a);//輸出結果

G. php怎樣生成一個32位的隨機字元串

如用戶注冊生成隨機密碼,用戶重置密碼也需要生成一個隨機的密碼。隨機密碼也就是一串固定長度的字元串。下面介紹生成隨機字元串的三種基本方法:

H. PHP生成隨機數的幾種方法

php生成隨機數的幾種方法,總結如下:

第一種方法,非常簡單,直接使用系統自帶的函數:

查看代碼1 srand((double)microtime()*1000000);

2 //隨機產生0-99之間的整數

3 $randval=rand(0,99999999);

4 echo $randval,'
';

5

6

第二種方法,稍微復雜一點,不只是生成只有數字的隨機字元串,更包括了各種特殊字元:

查看代碼
function randomkeys($length){

$output='';

for($a=0;$a<$length; $a++){

$output.=chr(mt_rand(33, 126));

}

return $output;

}

echo randomkeys(20);

熱點內容
cl加密狗 發布:2024-11-01 10:28:52 瀏覽:610
php建網站 發布:2024-11-01 10:07:37 瀏覽:566
利用舊電腦搭建自己的私有雲伺服器 發布:2024-11-01 10:07:24 瀏覽:608
dl388p伺服器怎麼換硬碟 發布:2024-11-01 10:02:12 瀏覽:254
雲伺服器可以打游戲嘛 發布:2024-11-01 09:49:49 瀏覽:582
編程聚會 發布:2024-11-01 09:38:51 瀏覽:898
7z壓縮密碼 發布:2024-11-01 09:38:50 瀏覽:660
sql字元串去掉空格 發布:2024-11-01 09:27:27 瀏覽:17
c語言學生通訊錄 發布:2024-11-01 09:26:22 瀏覽:286
門線告警演算法 發布:2024-11-01 09:24:58 瀏覽:522