国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP隨機(jī)函數(shù)的用法

2020-03-22 18:01:35
字體:
供稿:網(wǎng)友
本篇文章主要介紹PHP隨機(jī)函數(shù)的用法,感興趣的朋友參考下,希望對大家有所幫助。

寫在前面

html' target='_blank'>PHP語法特性及相關(guān)函數(shù)類庫的經(jīng)典用法,并不一定是真正能實現(xiàn)四兩撥千斤的功效,但是掌握這些方法,可以在你的工作和學(xué)習(xí)上有一些幫助!

二、前言

PHP是常見的腳本語言,主要是因為其簡單易學(xué),上手快,幾乎50%以上的Web程序都有PHP的身影(不完全統(tǒng)計)。PHP為開發(fā)這提供了豐富的函數(shù)和API接口,這使得我們能夠非常方便地使用其強(qiáng)大的內(nèi)置函數(shù)及擴(kuò)展。

三、PHP隨機(jī)函數(shù)

PHP隨機(jī)函數(shù)主要有rand、mt_rand、array_rand,還有隨機(jī)“排列”(打亂順序)的函數(shù)shuffle、str_shuffle,能夠產(chǎn)生唯一ID的uniqid。

1、rand產(chǎn)生隨機(jī)數(shù):

 ?php$base = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 $count = strlen($base);$random = for ($i=0; $i $i++) {  $random.=$base[rand(0,$count-1)];echo $random;? 

rand()函數(shù)是使用libc 的隨機(jī)數(shù)發(fā)生器生成隨機(jī)數(shù)的,一般較慢,且有不確定因素,建議使用mt_rand函數(shù)替代。

getrandmax()函數(shù)可以返回rand函數(shù)能夠產(chǎn)生的最大的隨機(jī)數(shù)(我的系統(tǒng)為32767),所以在設(shè)置rand函數(shù)第二個參數(shù)時不要超高getrandmax的返回值。

2、mt_rand產(chǎn)生隨機(jī)數(shù):

 ?php$base = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 $count = strlen($base);$random = for ($i=0; $i $i++) {  $random.=$base[mt_rand(0,$count-1)];echo $random;? 

很多老的 libc 的隨機(jī)數(shù)發(fā)生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數(shù)默認(rèn)使用 libc 隨機(jī)數(shù)發(fā)生器。mt_rand() 函數(shù)是非正式用來替換它的。該函數(shù)用了 ? Mersenne Twister 中已知的特性作為隨機(jī)數(shù)發(fā)生器,它可以產(chǎn)生隨機(jī)數(shù)值的平均速度比 libc 提供的 rand() 快四倍。強(qiáng)烈建議在開發(fā)過程中使用mt_rand函數(shù)取代rand。

如果沒有提供可選參數(shù) min 和 max,mt_rand() 返回 0 到 mt_getrandmax() 之間的偽隨機(jī)數(shù)。例如想要 3到 20(包括 3 和 20)之間的隨機(jī)數(shù),用 mt_rand(3, 20)。

3、array_rand函數(shù)

 ?php$base = array( a , b , c , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r , s , t , u , v , w , x , y , z , A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 $random = for ($i=0; $i $i++) {  $random.=$base[array_rand($base)];echo $random;? 

array_rand返回數(shù)組中隨機(jī)的鍵值,有點類似mt_rand()函數(shù),其余的沒什么特殊的地方,靈活運(yùn)用而已。

4、shuffle函數(shù)

 ?php$base = array( a , b , c , d , e , f , g , h , i , j , k , l , m , n , o , p , q , r , s , t , u , v , w , x , y , z , A , B , C , D , E , F , G , H , I , J , K , L , M , N , O , P , Q , R , S , T , U , V , W , X , Y , Z , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 if(shuffle($base)){ print_r($base);? 

shuffle函數(shù)是打亂一個數(shù)組的序列,有點隨機(jī)的意思,這里就放在隨機(jī)函數(shù)里了。返回值為bool值,相當(dāng)于直接引用了原變量。

5、str_shuffle函數(shù)

 ?php$base = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 echo str_shuffle($base);? 

這里str_shuffle的功能和shuffle的功能是類似的,唯一不同的是返回值,str_shuffle的原字符串是不變的。

6、uniqid函數(shù)

 ?phpecho uniqid();//54f806528172f? 

uniqid能夠產(chǎn)生唯一的字符串,這個應(yīng)用的范圍可以相當(dāng)廣泛

四、總結(jié)
隨機(jī)函數(shù)幾乎是每種語言最基本的功能,PHP對于隨機(jī)函數(shù)的支持也不例外,這里介紹了rand、mt_rand、array_rand、shuffle、str_shuffle、uniqid函數(shù)的基本用法,更多可以結(jié)合實際應(yīng)用靈活運(yùn)用。

總結(jié):以上就是本篇文的全部內(nèi)容,希望能對大家的學(xué)習(xí)有所幫助。

相關(guān)推薦:

php針對錯誤處理的常用技巧

php實現(xiàn)web服務(wù)的方法

php根據(jù)數(shù)組動態(tài)創(chuàng)建html代碼的的方法

以上就是PHP隨機(jī)函數(shù)的用法的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 望谟县| 龙里县| 乌兰浩特市| 宁城县| 汽车| 伊宁市| 盈江县| 聂拉木县| 双流县| 龙南县| 迭部县| 东宁县| 华容县| 滁州市| 海晏县| 柯坪县| 合水县| 贵德县| 马龙县| 剑川县| 邻水| 延安市| 扶余县| 疏附县| 南通市| 沅陵县| 永登县| 靖江市| 苍山县| 红河县| 社会| 乌苏市| 长宁县| 汨罗市| 鹰潭市| 新民市| 泸定县| 秦安县| 望江县| 琼海市| 沁源县|