PHP隨機(jī)數(shù)生成代碼與使用實(shí)例分析
首先來(lái)認(rèn)識(shí)一下PHP提供的隨機(jī)數(shù)函數(shù)rand()。PHP的rand()函數(shù)將返回隨機(jī)整數(shù),具體使用方法如下
rand(min,max)
可選參數(shù)min和max可以使rand() 返回0到RAND_MAX之間的偽隨機(jī)整數(shù)。例如,想要5到15(包括 5 和 15)之間的隨機(jī)數(shù),用 rand(5, 15)。
下面我來(lái)看一個(gè)具體的示例,我們做一個(gè)基本的函數(shù)調(diào)用,不設(shè)置具體的參數(shù),我們得到的隨機(jī)數(shù)將不受min和max兩個(gè)參數(shù)的限制。
<? echo(rand());?>
得到的結(jié)果:652696728 (隨機(jī)結(jié)果)1、使用PHP生成指定區(qū)間內(nèi)的隨機(jī)數(shù)如果我們要生成兩個(gè)數(shù)字之間的隨機(jī)數(shù),我們需要為rand設(shè)定兩個(gè)參數(shù):這樣,我們得到的結(jié)果就在我們的控制之中,他應(yīng)該是MinNum <= result <= MaxNum;假設(shè)我們要使用PHP生成10000到2000之間的隨機(jī)數(shù),我們的代碼應(yīng)該這樣寫(xiě):
echo(rand(1000,2000));?>
夠簡(jiǎn)單吧,下面來(lái)點(diǎn)稍微有些難度的。在本文的開(kāi)始我們說(shuō)過(guò),隨機(jī)數(shù)的作用很大,我們可以用PHP隨機(jī)數(shù)解決一些復(fù)雜的問(wèn)題。2、使用PHP獲得一個(gè)集合中的隨機(jī)元素將設(shè)我們需要從一個(gè)數(shù)組中獲得一個(gè)隨機(jī)元素
$my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML');
echo($my_array[rand(0,6)]);
?>
可以想象,我們得到的結(jié)果可能是ASP、PHP或JavaScript等任何一個(gè)包含在數(shù)組中的元素。注意,我們的my_array數(shù)組包含七個(gè)元素,我們將rand()的參數(shù)設(shè)置為0到6之間。下面我們使用兩組隨機(jī)數(shù)對(duì)上面的示例做功能增強(qiáng),我們需要一個(gè)隨機(jī)數(shù)進(jìn)行條件判斷,另一個(gè)隨機(jī)數(shù)做元素的輸出。
$my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML');
$repetition=rand(0,6);
for($i=0;$i<=$repetition;$i++){
echo('I am learning ' . $my_array[rand(0,6)]);
echo(' on 51CTO.com');
}
?>
我們得到的結(jié)果可能像下面這樣:
由于我們使用一個(gè)隨機(jī)數(shù)限定顯示的條數(shù),所以得到的結(jié)果除了文章隨機(jī),顯示的條數(shù)也是隨機(jī)的,如下圖:
也許你會(huì)問(wèn),PHP隨機(jī)數(shù)只能做這些無(wú)聊的事兒?jiǎn)?rand( )看來(lái)并不是那么重要;你錯(cuò)了,想想隨處可見(jiàn)的驗(yàn)證碼、一些CMS系統(tǒng)的隨機(jī)文章提取、下載地址分配等,隨機(jī)數(shù)在這些應(yīng)用中發(fā)揮著重要作用;另外,在安全和算法領(lǐng)域,隨機(jī)數(shù)的很多應(yīng)用也值得我們?nèi)ド钊胙芯浚热缂用芎屯喾ńY(jié)構(gòu)等。
- php生成隨機(jī)數(shù)的三種方法
- PHP生成不重復(fù)隨機(jī)數(shù)的方法匯總
- PHP n個(gè)不重復(fù)的隨機(jī)數(shù)生成代碼
- PHP生成指定長(zhǎng)度隨機(jī)數(shù)最簡(jiǎn)潔的方法
- PHP產(chǎn)生不重復(fù)隨機(jī)數(shù)的5個(gè)方法總結(jié)
- php獲取四位字母和數(shù)字的隨機(jī)數(shù)的實(shí)現(xiàn)方法
- 一個(gè)php生成16位隨機(jī)數(shù)的代碼(兩種方法)
- 深入PHP獲取隨機(jī)數(shù)字和字母的方法詳解
- PHP的偽隨機(jī)數(shù)與真隨機(jī)數(shù)詳解
- php生成N個(gè)不重復(fù)的隨機(jī)數(shù)實(shí)例
- PHP 生成N個(gè)不重復(fù)的隨機(jī)數(shù)
- php生成不重復(fù)隨機(jī)數(shù)、數(shù)組的4種方法分享
- PHP簡(jiǎn)單獲取隨機(jī)數(shù)的常用方法小結(jié)
相關(guān)文章
推薦Discuz!5的PHP代碼高亮顯示與實(shí)現(xiàn)可運(yùn)行代碼
推薦Discuz!5的PHP代碼高亮顯示與實(shí)現(xiàn)可運(yùn)行代碼...2007-03-03
修改php.ini實(shí)現(xiàn)Mysql導(dǎo)入數(shù)據(jù)庫(kù)文件最大限制的修改方法
這里介紹修改php.ini實(shí)現(xiàn)Mysql導(dǎo)入數(shù)據(jù)庫(kù)文件最大限制的修改方法,簡(jiǎn)單說(shuō)明了wampserver服務(wù)器上針對(duì)php.ini配置文件上傳限制參數(shù)、內(nèi)存限制參數(shù)以及post傳輸參數(shù)等修改方法,需要的朋友可以參考一下2007-12-12
解析如何修改phpmyadmin中的默認(rèn)登陸超時(shí)時(shí)間
本篇文章是對(duì)修改phpmyadmin中的默認(rèn)登陸超時(shí)時(shí)間的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Swoole 5將移除自動(dòng)添加Event::wait()特性詳解
這篇文章主要給大家介紹了關(guān)于Swoole 5將移除自動(dòng)添加Event::wait()特性的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Swoole5具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07



