在PHP程式設計中,随機數的生成尤為重要。我們需要用随機數在我們的頁面中展示随機記錄(比如圖檔、使用者記錄、文章ID等)。我們還可以使用随機數設計任何我們想象的程式結構。
首先來認識一下PHP提供的随機數函數rand()。PHP的rand()函數将傳回随機整數,具體使用方法如下
rand(min,max)
可選參數min和max可以使rand() 傳回0到RAND_MAX之間的僞随機整數。例如,想要5到15(包括 5 和 15)之間的随機數,用 rand(5, 15)。
下面我來看一個具體的示例,我們做一個基本的函數調用,不設定具體的參數,我們得到的随機數将不受min和max兩個參數的限制。
echo(rand());?>
得到的結果:652696728 (随機結果)
1、使用PHP生成指定區間内的随機數
如果我們要生成兩個數字之間的随機數,我們需要為rand設定兩個參數:
這樣,我們得到的結果就在我們的控制之中,他應該是MinNum <= result <= MaxNum;假設我們要使用PHP生成10000到2000之間的随機數,我們的代碼應該這樣寫:
echo(rand(1000,2000));?>
夠簡單吧,下面來點稍微有些難度的。在本文的開始我們說過,随機數的作用很大,我們可以用PHP随機數解決一些複雜的問題。
2、使用PHP獲得一個集合中的随機元素
将設我們需要從一個數組中獲得一個随機元素
$my_array=array('ASP','PHP','JAVASCRIPT','AJAX','CSS','JQUERY','HTML');
echo($my_array[rand(0,6)]);
?>
可以想象,我們得到的結果可能是ASP、PHP或JavaScript等任何一個包含在數組中的元素。注意,我們的my_array數組包含七個元素,我們将rand()的參數設定為0到6之間。
下面我們使用兩組随機數對上面的示例做功能增強,我們需要一個随機數進行條件判斷,另一個随機數做元素的輸出。
$repetition=rand(0,6);
for($i=0;$i<=$repetition;$i++){
echo('I am learning ' . $my_array[rand(0,6)]);
echo(' on 51CTO.com
');
}
我們得到的結果可能像下面這樣:

第一次運作我們得到三條結果
由于我們使用一個随機數限定顯示的條數,是以得到的結果除了文章随機,顯示的條數也是随機的,如下圖:
第二次運作得到七條結果
也許你會問,PHP随機數隻能做這些無聊的事兒嗎?rand( )看來并不是那麼重要;你錯了,想想随處可見的驗證碼、一些CMS系統的随機文章提取、下載下傳位址配置設定等,随機數在這些應用中發揮着重要作用;另外,在安全和算法領域,随機數的很多應用也值得我們去深入研究,比如加密和同餘法結構等。
本文轉自 red7 51CTO部落格,原文連結:http://blog.51cto.com/hong7/239117,如需轉載請自行聯系原作者