PHP隨機(jī)數(shù)函數(shù)rand()與mt_rand()的講解
PHP中rand()與mt_rand()都是用于產(chǎn)生一個(gè)指定范圍內(nèi)單獨(dú)隨機(jī)數(shù)的函數(shù),如果需要產(chǎn)生多個(gè)不重復(fù)的隨機(jī)數(shù),請參考:PHP生成指定范圍內(nèi)的N個(gè)不重復(fù)的隨機(jī)數(shù)。
既然他們都是用于產(chǎn)生一個(gè)隨機(jī)數(shù),那么他們有什么區(qū)別呢?
rand()
函數(shù)默認(rèn)使用 libc 隨機(jī)數(shù)發(fā)生器,很多老的 libc 的隨機(jī)數(shù)發(fā)生器具有一些不確定和未知的特性而且效率很低;mt_rand() 則是用了 Mersenne Twister 中已知的特性作為隨機(jī)數(shù)發(fā)生器,它產(chǎn)生隨機(jī)數(shù)值的平均速度比 libc 提供的 rand() 快四倍。所以在PHP中mt_rand()函數(shù)是非正式用來替換rand()的。
語法:
rand(min,max) mt_rand(min,max)
min,max 皆為可選,規(guī)定隨機(jī)數(shù)產(chǎn)生的范圍。
如果沒有提供可選參數(shù) min 和 max,則返回 0 到 RAND_MAX 之間的偽隨機(jī)整數(shù)。例如,想要 1 到 100(包括 1 和 100)之間的隨機(jī)數(shù),用 rand(1, 100) 或 mt_rand(1,100)。
注: 自 PHP 4.2.0 起,PHP產(chǎn)生隨機(jī)數(shù)都不再需要用 srand() 或 mt_srand() 函數(shù)產(chǎn)生隨機(jī)種子,已經(jīng)會(huì)自動(dòng)完成。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
php基礎(chǔ)知識(shí):函數(shù)基礎(chǔ)知識(shí)
php基礎(chǔ)知識(shí):函數(shù)基礎(chǔ)知識(shí)...2006-12-12PHP和JAVA中的重載(overload)和覆蓋(override) 介紹
PHP不支持方法和操作符重載。JAVA不支持操作符的重載(但是“+”實(shí)際上是一種操作符重載)2012-03-03php驗(yàn)證手機(jī)號(hào)碼(支持歸屬地查詢及編碼為UTF8)
本文將實(shí)現(xiàn)以下功能:手機(jī)號(hào)驗(yàn)證/手機(jī)號(hào)碼歸屬地/轉(zhuǎn)換字符串編碼為UTF8,對(duì)此有興趣的朋友可以參考下,或許本文對(duì)你有所幫助2013-02-02mysql下創(chuàng)建字段并設(shè)置主鍵的php代碼
php+mysql創(chuàng)建字段并設(shè)置主鍵示例2010-05-05淺談php(codeigniter)安全性注意事項(xiàng)
下面小編就為大家?guī)硪黄獪\談php(codeigniter)安全性注意事項(xiàng)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04將IP地址轉(zhuǎn)換為整型數(shù)字的PHP方法、Asp方法和MsSQL方法、MySQL方法
本篇文章是對(duì)IP地址轉(zhuǎn)換為整型數(shù)字的PHP方法、Asp方法和MsSQL方法、MySQL方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07php curl獲取https頁面內(nèi)容,不直接輸出返回結(jié)果的設(shè)置方法
今天小編就為大家分享一篇php curl獲取https頁面內(nèi)容,不直接輸出返回結(jié)果的設(shè)置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01