溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在PHP中生成隨機字符串

發(fā)布時間:2021-06-07 16:49:52 來源:億速云 閱讀:255 作者:Leah 欄目:開發(fā)技術(shù)

如何在PHP中生成隨機字符串?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)建一個字符池,然后用一個循環(huán)和mt_rand()或rand()生成php隨機數(shù),從字符池中隨機選取字符,最后拼湊出需要的長度

function randomkeys($length) 
{ 
 $pattern = '1234567890abcdefghijklmnopqrstuvwxyz 
    ABCDEFGHIJKLOMNOPQRSTUVWXYZ;
 for($i=0;$i<$length;$i++) 
 { 
  $key .= $pattern{mt_rand(0,35)}; //生成php隨機數(shù) 
 } 
 return $key; 
} 
echo randomkeys(8);

另一種用PHP生成隨機數(shù)的方法:利用chr()函數(shù),省去創(chuàng)建字符池的步驟。

function randomkeys($length){ 
 $output=''; 
 for ($a = 0; $a<$length; $a++) { 
  $output .= chr(mt_rand(33, 126)); //生成php隨機數(shù) 
 } 
 return $output; 
} 
echo randomkeys(8);

在第二個php隨機函數(shù)里,先用mt_rand()生成一個介于33到126之間的php隨機數(shù),然后用chr()函數(shù)轉(zhuǎn)化成字符。第二個函數(shù)和第一個函數(shù)功能相同,而且更簡潔。如果不需要特殊字符的話還是直接寫在字符池中比較好。

ASCII碼表

信息在計算機上是用二進制表示的,這種表示法讓人理解就很困難。因此計算機上都配有輸入和輸出設(shè)備,這些設(shè)備的主要目的就是,以一種人類可閱讀的形式將信息在這些設(shè)備上顯示出來供人閱讀理解。為保證人類和設(shè)備,設(shè)備和計算機之間能進行正確的信息交換,人們編制的統(tǒng)一的信息交換代碼,這就是ASCII碼表,它的全稱是“美國信息交換標(biāo)準(zhǔn)代碼”。

八進制十六進制十進制字符八進制十六進制十進制字符
00000nul1004064@
01011soh1014165A
02022stx1024266B
03033etx1034367C
04044eot1044468D
05055enq1054569E
06066ack1064670F
07077bel1074771G
10088bs1104872H
11099ht1114973I
120a10nl1124a74J
130b11vt1134b75K
140c12ff1144c76L
150d13er1154d77M
160e14so1164e78N
170f15si1174f79O
201016dle1205080P
211117dc11215181Q
221218dc21225282R
231319dc31235383S
241420dc41245484T
251521nak1255585U
261622syn1265686V
271723etb1275787W
301824can1305888X
311925em1315989Y
321a26sub1325a90Z
331b27esc1335b91[
341c28fs1345c92\
351d29gs1355d93]
361e30re1365e94^
371f31us1375f95_
402032sp1406096'
412133!1416197a
422234"1426298b
432335#1436399c
442436$14464100d
452537%14565101e
462638&14666102f
472739`14767103g
502840(15068104h
512941)15169105i
522a42*1526a106j
532b43+1536b107k
542c44,1546c108l
552d45-1556d109m
562e46.1566e110n
572f47/1576f111o
603048016070112p
613149116171113q
623250216272114r
633351316373115s
643452416474116t
653553516575117u
663654616676118v
673755716777119w
703856817078120x
713957917179121y
723a58:1727a122z
733b59;1737b123{
743c60<1747c124|
753d61=1757d125}
763e62>1767e126~
773f63?1777f127del

關(guān)于如何在PHP中生成隨機字符串問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI