Avril Note

跳到主文

電腦類筆記

部落格全站分類:

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 1月 11 週一 201000:18
  • rand用法-php

http://blog.xuite.net/arcloveangel/lovestore/28214932

功能:
取得隨機亂數

使用:
a=rand(最小值[整數],最大值[整數])

說明:
rand 函式所傳回的資料型態為整數,會依據設計者傳入的最大值與最小值,傳回隨機亂數,可以同時不指定最大值與最小值,這個時候並不會出錯,此時會使用預設最大 值getrandmax()=32767與預設最小值0做為基本判斷數值,也就是說rand()等於rand(0,32767),會傳回0到32767之 間的數值。

其他重點:
1. rand函式可以接受的最大傳入值為整數的最大值:2147483647、最小值:-2147483648。(過大的數值會產生無法預知的錯誤[溢值])
2. rand函式的最大值與最小值如果輸入顛倒,程式仍可正確輸出。(但建議照規矩來,養成寫程式的好習慣)
3. rand函式不可傳入文字字串、空字串,但可以傳入數字字串。(但建議照規矩來,養成寫程式的好習慣)
4. 傳入值如果輸入小數(浮點數),會被直接轉為整數運算,也就是小數部分會直接去除。

以下兩種情況會產生警告訊息:
1. 只有指定最大值或最小值其中之一時,如:rand(100)
2. 傳入值為文字字串、空字串時。

以下這種情況會產生錯誤訊息:

1. 參數填寫不完全時,如:rand(100,)或rand(,100)

範例:
echo rand(); //正常輸出
echo rand(1,20); //正常輸出
echo rand(100,80); //正常輸出,輸出80-100之間的整數
echo rand(-1,-20); //正常輸出
echo rand(-20,-2); //正常輸出
echo rand(100.1,111.9); //正常輸出,輸出100-111之間的整數
echo rand("1","20"); //正常輸出
echo rand(-888,999); //正常輸出
echo rand("20","-20"); //正常輸出

echo rand(9999999990,9999999999); //正常輸出,但輸出結果有誤
echo rand(0,9999999999999); //正常輸出,但輸出結果有誤

echo rand(a,z); //輸出警告訊息(1),且不傳回值
echo rand(1,z); //輸出警告訊息(2),且不傳回值
echo rand(10,""); //輸出警告訊息(2),且不傳回值
echo rand(10); //輸出警告訊息(3),且不傳回值

echo rand(10,); //輸出錯誤訊息(4)
echo rand(,10); //輸出錯誤訊息(4)


錯誤與警告訊息:
1. Warning: rand() expects parameter 1 to be long, string given
2. Warning: rand() expects parameter 2 to be long, string given
3. Warning: rand() expects exactly 2 parameters, 1 given

4. Parse error: syntax error, unexpected ')'

請注意!警告訊息與錯誤訊息的不同之處在於,就算出現警告網頁程式也會繼續執行到結束,但如果出現錯誤訊則網頁會直接終止執行!


建議:
使用rand函式取得隨機亂 數值時,建議手動設定最大值與最小值rand(x,y),而不建議使用rand()這樣的方式取得亂數,如果要隨機取得大範圍亂數但不指定最大值與最小 值,我會建議使用mt_rand()這個函式,因為這個函式如果不指定最大值與最小值,它的預設範圍會是在0與2147483647之間。

 

文章標籤
全站熱搜
創作者介紹
創作者 avrilnote 的頭像
avrilnote

Avril Note

avrilnote 發表在 痞客邦 留言(0) 人氣(363)

  • 全站分類:
  • 個人分類:php函式
▲top

個人資訊

avrilnote
暱稱:
avrilnote
分類:
好友:
累積中
地區:

熱門文章

  • ()細說HTML元素的ID和Name屬性的區別
  • ()mysql中文亂碼的原因
  • ()編碼問題----UTF-8轉BIG5
  • ()javacipt-另開視窗語法
  • ()PHP中SESSION不能跨頁傳遞問題的解決辦法
  • ()PHP-Excel檔案轉出的方式
  • ()利用PHPExcel匯出xlsx及xls檔設定說明
  • ()抓取或備份整個網站-HTTrack
  • ()phpexcel-將excel新增入mysql
  • ()預覽及設定列印-js語法

文章分類

  • AJAX (0)
  • HTML (0)
  • W3C (0)
  • JS (0)
  • PHP (0)
  • PHP設定 (0)
  • MYSQL (0)
  • CSS (0)
  • php函式 (0)
  • PHP-亂碼問題 (0)
  • SMARTY (0)
  • PHP安全性 (0)
  • 軟體介紹 (0)
  • 列印 (0)
  • PHP-縮圖 (0)
  • 系統分析與設計 (0)
  • php函式-路徑類 (0)
  • 圖型驗證碼 (0)
  • php正規式 (0)
  • test (0)
  • html編輯器 (0)
  • JQuery (0)
  • php-上傳檔案 (0)
  • php-session (0)
  • javascript (0)
  • 未分類文章 (1)

最新文章

    最新留言

    文章精選

    文章搜尋

    誰來我家

    avrilnote
    PIXNET Logo登入

    參觀人氣

    • 本日人氣:0
    • 累積人氣:114,069