php隨機數(shù)字代碼
來源:易賢網(wǎng) 閱讀:837 次 日期:2014-08-21 17:17:31
溫馨提示:易賢網(wǎng)小編為您整理了“php隨機數(shù)字代碼”,方便廣大網(wǎng)友查閱!

今天,有朋友咨詢烈火PHP隨機數(shù)字的問題,這是PHP的基礎(chǔ)問題,大家可以參考一下烈火提供的PHP手冊,由于時間關(guān)系,小編也懶的寫,在網(wǎng)上找了一些例子,綜合在一起,希望對大家有所幫助吧,如有問題請在下面說出來。

//seed用戶自定義函數(shù)以微秒作為種子

function seed()

{

list($msec, $sec) = explode(' ', microtime());

return (float) $sec;

}

//播下隨機數(shù)發(fā)生器種子,用srand函數(shù)調(diào)用seed函數(shù)的返回結(jié)果

srand(seed());

//輸出產(chǎn)生的隨機數(shù),隨機數(shù)的范圍為10-100

echo rand(10,100);

?>

上面這個和下面這個不是沒什么不同嗎?都是隨機輸出10-100之間的數(shù),新人學習,可能問的太簡單了呵呵

echo rand(10,100);

?>

mt_rand(10,100);

srand是種子,如果不設(shè)的話默認是1

rand一般是利用種子做參數(shù)的一種固定的運算

你試一下就知道了,不設(shè)種子或者設(shè)一個固定的種子,運行rand

然后再關(guān)了瀏覽器再開,再運行rand

你會發(fā)現(xiàn)結(jié)果一直是一樣的

但是如果用一個隨機數(shù)做種子,那每次運行結(jié)果就近似于隨機的

先說rand()函數(shù)吧,rand([int min], [int max]) 本函數(shù)從min和max之間取一個隨機數(shù)。若沒有指定隨機數(shù)的最大及最小范圍,本函數(shù)會自動的從0到RAND_MAX中取一個隨機數(shù)。

但是如果只用rand()這個函數(shù),隨機數(shù)的亂度很大,每次在取隨機數(shù)之前最好使用srand()函數(shù),以配置新的隨機數(shù)種子。

解釋一下下面這個用法(一般都是這樣用這兩個函數(shù)的):

srand((double)microtime()*1000000);

$rand_number= rand();

microtime()返回了兩個值:當前毫秒和時間戳,我們要提取隨機數(shù),只能從毫秒中取一個隨機數(shù),(double)microtime()就只返回當前的毫秒值。

microtime()是以秒為單位的毫秒數(shù),因而值都是小數(shù),乘以1000000將其換算為整數(shù)。

;它們的工作流程如下:

(1):首先,給srand()提供一個”種子”;,它是一個unsigned_int類型的值。

(2):_然后,調(diào)用rand(),它會根據(jù)提供給srand()的值返回一個隨機數(shù)(范圍在_0~32767之間)

(3):根據(jù)需要多次調(diào)用rand(),不斷得到新的隨機數(shù)。

(4):無論什么時候可以給srand()提供一個新的“種子”,從而進一步“隨機化”rand()的

輸出結(jié)果。

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:php隨機數(shù)字代碼

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)