PHP隨機函數rand()、mt_rand()、srand()、mt_srand() 的區別


1、生成隨機數發生器種子的函數

srand()、 mt_srand()

區別:mt_srand()  比 srand() 更好的生成隨機數發生器種子

定義:

void srand([int $seed])

void mt_srand([int $seed])

用 seed 來給隨機數發生器播種。 沒有設定 seed 參數時,會被設為隨時數。

參數:

seed 可選的種子值

返回值: 沒有

#example

echo microtime();

=> 0.22750900 1534295333

 

function make_seed()

{

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

  return (float) $sec + ((float) $usec * 100000);

}

mt_srand(make_seed());
$randval = mt_rand();

 

提示:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 給隨機數發生器播種 ,因為現在是由系統自動完成的。

 

 2、隨機數生成函數 rand() 、mt_rand()

定義:

 

int rand ( void )

 

int rand ( int $min , int $max )


int mt_rand ( void )

int mt_rand ( int $min , int $max )

很多老的 libc 的隨機數發生器具有一些不確定和未知的特性而且很慢。PHP 的 rand() 函數默認使用 libc 隨機數發生器。

mt_rand() 函數用了 » Mersenne Twister 中已知的特性作為隨機數發生器,它可以產生隨機數值的平均速度比 libc 提供的 rand() 快四倍。

 

如果沒有提供可選參數 min 和 maxmt_rand() 返回 0 到 mt_getrandmax() 之間的偽隨機數。

 

 

getrandmax()  最大值為:32767

mt_getrandmax() 最大值為:2147483647

 

提示:自PHP 4.2 開始 隨機數發生器有系統自動進行播種。

 

 

 

PHP 常用數學函數

Math 函數

  • abs — 絕對值
  • acos — 反余弦
  • acosh — 反雙曲余弦
  • asin — 反正弦
  • asinh — 反雙曲正弦
  • atan2 — 兩個參數的反正切
  • atan — 反正切
  • atanh — 反雙曲正切
  • base_convert — 在任意進制之間轉換數字
  • bindec — 二進制轉換為十進制
  • ceil — 進一法取整
  • cos — 余弦
  • cosh — 雙曲余弦
  • decbin — 十進制轉換為二進制
  • dechex — 十進制轉換為十六進制
  • decoct — 十進制轉換為八進制
  • deg2rad — 將角度轉換為弧度
  • exp — 計算 e 的指數
  • expm1 — 返回 exp(number) - 1,甚至當 number 的值接近零也能計算出准確結果
  • floor — 舍去法取整
  • fmod — 返回除法的浮點數余數
  • getrandmax — 顯示隨機數最大的可能值
  • hexdec — 十六進制轉換為十進制
  • hypot — 計算一直角三角形的斜邊長度
  • intdiv — 對除法結果取整
  • is_finite — 判斷是否為有限值
  • is_infinite — 判斷是否為無限值
  • is_nan — 判斷是否為合法數值
  • lcg_value — 組合線性同余發生器
  • log10 — 以 10 為底的對數
  • log1p — 返回 log(1 + number),甚至當 number 的值接近零也能計算出准確結果
  • log — 自然對數
  • max — 找出最大值
  • min — 找出最小值
  • mt_getrandmax — 顯示隨機數的最大可能值
  • mt_rand — 生成更好的隨機數
  • mt_srand — 播下一個更好的隨機數發生器種子
  • octdec — 八進制轉換為十進制
  • pi — 得到圓周率值
  • pow — 指數表達式
  • rad2deg — 將弧度數轉換為相應的角度數
  • rand — 產生一個隨機整數
  • round — 對浮點數進行四舍五入
  • sin — 正弦
  • sinh — 雙曲正弦
  • sqrt — 平方根
  • srand — 播下隨機數發生器種子
  • tan — 正切
  • tanh — 雙曲正切

 

PHP 預定義常量

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM