摘要:首先來認(rèn)識一下php提供的隨機(jī)數(shù)函數(shù)rand(),php的rand()函數(shù)將返回隨機(jī)整數(shù),具體使用方法如下:rand(min,max)可選參數(shù)min和max可以使rand() 返回0到rand_max之間的偽隨機(jī)整數(shù),例如,想要5到15(包括...
轉(zhuǎn)載請注明來源:php rand()隨機(jī)函數(shù)生成隨生數(shù)代碼

首先來認(rèn)識一下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).

下面我來看一個(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)該這樣寫: 

echo(rand(1000,2000));?>

夠簡單吧,下面來點(diǎn)稍微有些難度的,在本文的開始我們說過,隨機(jī)數(shù)的作用很大,我們可以用php隨機(jī)數(shù)解決一些復(fù)雜的問題,2、使用php獲得一個(gè)集合中的隨機(jī)元素將設(shè)我們需要從一個(gè)數(shù)組中獲得一個(gè)隨機(jī)元素,代碼如下:

  1. $my_array=array('asp','php','網(wǎng)頁','ajax',','jquery','html');  
  2. echo($my_array[rand(0,6)]);  

可以想象,我們得到的結(jié)果可能是asp、php或javascript等任何一個(gè)包含在數(shù)組中的元素,注意,我們的my_array數(shù)組包含七個(gè)元素,我們將rand()的參數(shù)設(shè)置為0到6之間,下面我們使用兩組隨機(jī)數(shù)對上面的示例做功能增強(qiáng),我們需要一個(gè)隨機(jī)數(shù)進(jìn)行條件判斷,另一個(gè)隨機(jī)數(shù)做元素的輸出,代碼如下:

  1. $my_array=array('asp','php','javascript','ajax',','jquery','html');  
  2. $repetition=rand(0,6);  
  3. for($i=0;$i<=$repetition;$i++){  
  4. echo('i am learning ' . $my_array[rand(0,6)]);  
  5. echo(' on 51cto.com');  

我們得到的結(jié)果可能像下面這樣:

第一次運(yùn)行我們得到三條結(jié)果,由于我們使用一個(gè)隨機(jī)數(shù)限定顯示的條數(shù),所以得到的結(jié)果除了文章隨機(jī),顯示的條數(shù)也是隨機(jī)的.

第二次運(yùn)行得到七條結(jié)果

也許你會(huì)問,php隨機(jī)數(shù)只能做這些無聊的事兒嗎?rand( )看來并不是那么重要;你錯(cuò)了,想想隨處可見的驗(yàn)證碼、一些cms系統(tǒng)的隨機(jī)文章提取、下載地址分配等,隨機(jī)數(shù)在這些應(yīng)用中發(fā)揮著重要作用,另外,在安全和算法領(lǐng)域,隨機(jī)數(shù)的很多應(yīng)用也值得我們?nèi)ド钊胙芯?比如加密和同余法結(jié)構(gòu),代碼如下:

  1. <?php  
  2. $ip2idround(rand(600000, 2550000) / 10000); //第一種方法,直接生成  
  3. $ip3idround(rand(600000, 2550000) / 10000);  
  4. $ip4idround(rand(600000, 2550000) / 10000);  
  5. //下面是第二種方法,在以下數(shù)據(jù)中隨機(jī)抽取  
  6. $arr_1 = array("218","218","66","66","218","218","60","60","202","204","66","66","66","59","61","60","222","221","66","59","60","60","66","218","218","62","63","64","66","66","122","211");  
  7. $randarr= mt_rand(0,count($arr_1)-1);  
  8. $ip1id = $arr_1[$randarr];  
  9. echo $ip1id;  
  10. echo ".";  
  11. echo $ip2id;  
  12. echo ".";  
  13. echo $ip3id;  
  14. echo ".";  
  15. echo $ip4id;  
  16. ?> 
轉(zhuǎn)載請注明來源:php rand()隨機(jī)函數(shù)生成隨生數(shù)代碼

  哈爾濱品用軟件有限公司致力于為哈爾濱的中小企業(yè)制作大氣、美觀的優(yōu)秀網(wǎng)站,并且能夠搭建符合百度排名規(guī)范的網(wǎng)站基底,使您的網(wǎng)站無需額外費(fèi)用,即可穩(wěn)步提升排名至首頁。歡迎體驗(yàn)最佳的哈爾濱網(wǎng)站建設(shè)。