PHP獲取隨機數
<?php
$FileID=date(“Ymd-His”) . `-` . rand(100,999);
//$FileID為 20100903-132121-908 這樣的的隨機數
?>
<?php
function randomkeys($length)
{
$pattern=`1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ`;
for($i=0;$i<$length;$i++)
{
$key .= $pattern{mt_rand(0,35)}; //生成php隨機數
}
return $key;
}
echo randomkeys(4);
?>
<?php
//seed使用者自定義函式以微秒作為種子
function seed()
{
list($msec, $sec) = explode(` `, microtime());
return (float) $sec;
}
//播下隨機數發生器種子,用srand函式呼叫seed函式的返回結果
srand(seed());
//輸出產生的隨機數,隨機數的範圍為10-100
echo rand(10,100);
?>
上面這個和下面這個不是沒什麼不同嗎?都是隨機輸出10-100之間的數,新人學習,可能問的太簡單了呵呵
<?php
echo rand(10,100);
?>
mt_rand(10,100);
srand是種子,如果不設的話預設是1
rand一般是利用種子做引數的一種固定的運算
你試一下就知道了,不設種子或者設一個固定的種子,執行rand
然後再關了瀏覽器再開,再執行rand
你會發現結果一直是一樣的
先說rand()函式吧,rand([int min], [int max]) 本函式從min和max之間取一個隨機數。若沒有指定隨機數的最大及最小範圍,本函式會自動的從0到 RAND_MAX中取一個隨機數。
但是如果只用rand()這個函式,隨機數的亂度很大,每次在取隨機數之前最好使用srand()函式,以配置新的隨機數種子。
解釋一下下面這個用法(一般都是這樣用這兩個函式的):
srand((double)microtime()*1000000);
$rand_number= rand();
microtime()返回了兩個值:當前毫秒和時間戳,我們要提取隨機數,只能從毫秒中取一個隨機數,(double)microtime()就只返回當前的毫秒值。
microtime()是以秒為單位的毫秒數,因而值都是小數,乘以1000000將其換算為整數
它們的工作流程如下:
(1):首先,給srand()提供一個”種子”;,它是一個unsigned_int型別的值。
(2):_然後,呼叫rand(),它會根據提供給srand()的值返回一個隨機數(範圍在_0~32767之間)
(3):根據需要多次呼叫rand(),不斷得到新的隨機數。
(4):無論什麼時候可以給srand()提供一個新的“種子”,從而進一步“隨機化”rand()的
輸出結果。
本文轉自部落格園知識天地的部落格,原文連結:PHP獲取隨機數,如需轉載請自行聯絡原博主。
相關文章
- Random獲取隨機數random隨機
- MATLAB獲取隨機數——randMatlab隨機
- java獲取時間戳和隨機數Java時間戳隨機
- 獲取兩個數之間的隨機數-java隨機Java
- Java之獲取隨機數的4種方法Java隨機
- 從Linux核心中獲取真隨機數Linux隨機
- JavaScript 獲取0-1之間的隨機數JavaScript隨機
- 集合框架-獲取無重複的隨機數案例框架隨機
- js獲取數字和字母隨機數程式碼例項JS隨機
- javascript實現獲取指定數字區間的隨機數JavaScript隨機
- 【API】隨機獲取圖片API隨機
- 獲取當前時間戳和隨機數的獲取、Java Random、ThreadLocalRandom、UUID類中的方法應用(隨機數)時間戳隨機JavarandomthreadUI
- js獲取指定位數不重複隨機數程式碼例項JS隨機
- Django Models隨機獲取指定數量資料方法Django隨機
- Pythonrandom模組(獲取隨機數)常用方法和使用例子Pythonrandom隨機
- PHP 生成更好的隨機數PHP隨機
- **PHP隨機數演算法PHP隨機演算法
- 編寫一個程式,獲取10個1至20的隨機數,要求隨機數不能重複。隨機
- js獲取指定區間的隨機數程式碼例項JS隨機
- Oracle取隨機數函式Oracle隨機函式
- Java從List中獲取隨機元素Java隨機
- java 無重複取隨機數Java隨機
- 從oracle表中隨機取記錄,產生隨機數和隨機字串Oracle隨機字串
- JavaScript隨機數實現防止快取JavaScript隨機快取
- ArcGIS如何自動獲得隨機取樣點?隨機
- php 獲取IPPHP
- php隨機字串PHP隨機字串
- python爬蟲從ip池獲取隨機IPPython爬蟲隨機
- 基於隨機定位的地圖資訊獲取方式隨機地圖
- PHP 中的隨機數——你覺得可靠麼?PHP隨機
- PHP獲取微信accesstokenPHP
- php獲取輸入流PHP
- 碎片化學習Java(二十七)Java獲取 0 到 9 內的隨機數Java隨機
- 隨機數隨機
- PHP獲取客戶端、PHP獲取伺服器相關資訊PHP客戶端伺服器
- php全面獲取url位址列及各種引數PHP
- PHP全面獲取url位址列引數多種方法PHP
- php生成一個可選位數的隨機碼PHP隨機