GB | BIG5
|
| 首頁 > 編程技術 > Php > 正文 |
 |
| PHP4手冊:函數庫及函數(二十七) mcrypt 編碼函式庫 |
| http://netleader.126.com 星空浪子 (2001-04-18 14:50:22) |
--------------------------------------------------------------------------------
數學運算函式庫
--------------------------------------------------------------------------------
本函式庫共有 33 個函式
本函式庫能處
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
--------------------------------------------------------------------------------
本函式庫共有 8 個函式
要使用本函式庫要先準備 mcrypt 程式,可以到 ftp://argeas.cs-net.gr/pub/unix/mcrypt 下載這個程式 libmcrypt-x.x.tar.gz。同時在編譯 PHP 程式時需要加入 --with-mcrypt 的選項,俾使本函式庫能順利運作。
本函式提供的編碼方式有 DES、TripleDES、Blowfish (內定值)、3-WAY、SAFER-SK64、SAFER-SK128、TWOFISH、TEA、RC2 及使用 CBC, OFB, CFB, ECB 作為密碼檢索的 GOST。此外還有 RC6 及 IDEA 等非免費的編碼方式。見下面列示為已定義的密碼:
MCRYPT_BLOWFISH
MCRYPT_DES
MCRYPT_TripleDES
MCRYPT_ThreeWAY
MCRYPT_GOST
MCRYPT_CRYPT
MCRYPT_DES_COMPAT
MCRYPT_SAFER64
MCRYPT_SAFER128
MCRYPT_CAST128
MCRYPT_TEAN
MCRYPT_RC2
MCRYPT_TWOFISH (mcrypt 2.x 前的版本用)
MCRYPT_TWOFISH128 (mcrypt 2.x 的版本用)
MCRYPT_TWOFISH192
MCRYPT_TWOFISH256
MCRYPT_RC6
MCRYPT_IDEA
在密碼檢索本 (cipher) 方面,本函庫支援 CBC、OFB、CFB 與 ECB 四種密碼檢索本。這四種密碼檢索本的簡單敘述如下,更詳細的資訊請參考 Schneier 所著作的 Applied Cryptography (ISBN: 0-471-11709-9):
ECB (electronic codebook): 適合隨機的資料,例如使用另外的密鑰。若資料量少且隨機時,使用 ECB 較不適合。
CBC (cipher block chaining): 適合檔案的加密,安全性較 ECB 好。
CFB (cipher feedback): 適合對位元組資料流中的某段獨立位元組資料 (single bytes) 加密。
OFB (output feedback): 與 CFB 相容,尤其適合在無法忍受錯誤波及的應用上。
目前 PHP 仍無法對單位元 (bit) 的熵值做加密解密的動作,目前只適合對字串作密碼處理。
在使用 CFB 及 OFB 二種模式時,必須要向量初始化 (Initialization vector, IV),CBC 模式也可以使用向量初始化。向量初始化的值在加解密時必須是獨一無二的,同時也要保持相同。當加密的資料輸出時,也可同時輸出密碼鑰匙 (例如存在檔案中);或者也可以將向量初始化的值與加密的資料一起輸出。
mcrypt_get_cipher_name: 取得編碼方式的名稱。
mcrypt_get_block_size: 取得編碼方式的區塊大小。
mcrypt_get_key_size: 取得編碼鑰匙大小。
mcrypt_create_iv: 從隨機源將向量初始化。
mcrypt_cbc: 使用 CBC 將資料加/解密。
mcrypt_cfb: 使用 CFB 將資料加/解密。
mcrypt_ecb: 使用 ECB 將資料加/解密。
mcrypt_ofb: 使用 OFB 將資料加/解密。
--------------------------------------------------------------------------------
函式:mcrypt_get_cipher_name()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_get_cipher_name
取得編碼方式的名稱。
語法: string mcrypt_get_cipher_name(int cipher);
傳回值: 字串
函式種類: 編碼處理
內容說明
本函式用來取得編碼方式的名稱。傳回值為名稱字串,若沒有指定的編碼方式則傳回 false 或輸入的名稱。
使用范例
下例會輸出 TripleDES 字串。
$cipher = MCRYPT_TripleDES;
print mcrypt_get_cipher_name($cipher);
?>
--------------------------------------------------------------------------------
函式:mcrypt_get_block_size()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_get_block_size
取得編碼方式的區塊大小。
語法: int mcrypt_get_block_size(int cipher);
傳回值: 整數
函式種類: 編碼處理
內容說明
本函式用來取得編碼方式的區塊大小。參數為編碼名稱,傳回整數值的單位為位元組 (byte)。
--------------------------------------------------------------------------------
函式:mcrypt_get_key_size()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_get_key_size
取得編碼鑰匙大小。
語法: int mcrypt_get_key_size(int cipher);
傳回值: 整數
函式種類: 編碼處理
內容說明
本函式用來取得編碼鑰匙的大小。參數為編碼名稱,傳回整數值的單位為位元組 (byte)。
--------------------------------------------------------------------------------
函式:mcrypt_create_iv()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_create_iv
從隨機源將向量初始化。
語法: string mcrypt_create_iv(int size, int source);
傳回值: 字串
函式種類: 編碼處理
內容說明
本函式用來建立向量初始化 (Initialization vector, IV) 的值。參數 size 為指定的向量初始化值的長度。參數 source 為隨機資料的來源,來源可以是 MCRYPT_RAND (系統產生的隨機值)、MCRYPT_DEV_RANDOM (UNIX 系統中 /dev/random 的資料)、MCRYPT_DEV_URANDOM (UNIX 系統中 /dev/urandom 的資料),若使用 MCRYPT_RAND 當做隨機源,記得先使用 srand() 產生亂數種子。
使用范例
$cipher = MCRYPT_TripleDES;
$block_size = mcrypt_get_block_size($cipher);
$iv = mcrypt_create_iv($block_size, MCRYPT_DEV_RANDOM);
?>
--------------------------------------------------------------------------------
函式:mcrypt_cbc()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_cbc
使用 CBC 將資料加/解密。
語法: string mcrypt_cbc(int cipher, string key, string data, int mode, string [iv]);
傳回值: 字串
函式種類: 編碼處理
內容說明
本函式使用 CBC 密碼檢索本 (cipher block chaining),將資料加密及解密。參數 cipher 為加/解密方式,例如 MCRYPT_TripleDES。參數 key 是密碼鑰匙,當然要注意保持它的機密性。欲加密或解密的字串就放在參數 data 之中。參數 mode 表示加密 MCRYPT_ENCRYPT 或是解密 MCRYPT_DECRYPT。參數 iv 是可省略的參數,代表向量初始化 (Initialization vector, IV)。
--------------------------------------------------------------------------------
函式:mcrypt_cfb()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_cfb
使用 CFB 將資料加/解密。
語法: string mcrypt_cfb(int cipher, string key, string data, int mode, string iv);
傳回值: 字串
函式種類: 編碼處理
內容說明
本函式使用 CFB 密碼檢索本 (cipher feedback),將資料加密及解密。參數 cipher 為加/解密方式,例如 MCRYPT_TripleDES。參數 key 是密碼鑰匙,當然要注意保持它的機密性。欲加密或解密的字串就放在參數 data 之中。參數 mode 表示加密 MCRYPT_ENCRYPT 或是解密 MCRYPT_DECRYPT。參數 iv 是代表向量初始化 (Initialization vector, IV)。
--------------------------------------------------------------------------------
函式:mcrypt_ecb()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_ecb
使用 ECB 將資料加/解密。
語法: string mcrypt_ecb(int cipher, string key, string data, int mode);
傳回值: 字串
函式種類: 編碼處理
內容說明
本函式使用 ECB 密碼檢索本 (electronic codebook),將資料加密及解密。參數 cipher 為加/解密方式,例如 MCRYPT_TripleDES。參數 key 是密碼鑰匙,當然要注意保持它的機密性。欲加密或解密的字串就放在參數 data 之中。參數 mode 表示加密 MCRYPT_ENCRYPT 或是解密 MCRYPT_DECRYPT。
--------------------------------------------------------------------------------
函式:mcrypt_ofb()
--------------------------------------------------------------------------------
mcrypt 編碼函式庫
mcrypt_ofb
使用 OFB 將資料加/解密。
語法: string mcrypt_ofb(int cipher, string key, string data, int mode, string iv);
傳回值: 字串
函式種類: 編碼處理
內容說明
本函式使用 OFB 密碼檢索本 (output feedback),將資料加密及解密。參數 cipher 為加/解密方式,例如 MCRYPT_TripleDES。參數 key 是密碼鑰匙,當然要注意保持它的機密性。欲加密或解密的字串就放在參數 data 之中。參數 mode 表示加密 MCRYPT_ENCRYPT 或是解密 MCRYPT_DECRYPT。參數 iv 為向量初始化 (Initialization vector, IV)。。
Abs: 取得絕對值。
Acos: 取得反余弦值。
Asin: 取得反正弦值。
Atan: 取得反正切值。
Atan2: 計算二數的反正切值。
base_convert: 轉換數字的進位方式。
BinDec: 二進位轉成十進位。
Ceil: 計算大指定數的最小整數。
Cos: 余弦計算。
DecBin: 十進位轉二進位。
DecHex: 十進位轉十六進位。
DecOct: 十進位轉八進位。
Exp: 自然對數 e 的次方值。
Floor: 計算小指定數的最大整數。
getrandmax: 亂數的最大值。
HexDec: 十六進位轉十進位。
Log: 自然對數值。
Log10: 10 基底的對數值。
max: 取得最大值。
min: 取得最小值。
mt_rand: 取得亂數值。
mt_srand: 設定亂數種子。
mt_getrandmax: 亂數的最大值。
number_format: 格式化數字字串。
OctDec: 八進位轉十進位。
pi: 圓周率。
pow: 次方。
rand: 取得亂數值。
round: 四舍五入。
Sin: 正弦計算。
Sqrt: 開平方根。
srand: 設定亂數種子。
Tan: 正切計算。
--------------------------------------------------------------------------------
函式:Abs()
--------------------------------------------------------------------------------
數學運算函式庫
Abs
取得絕對值。
語法: mixed abs(mixed number);
傳回值: 混合型態資料
函式種類: 數學運算
內容說明
傳回參數 number 的絕對值。若 number 是倍精確浮點數,則傳回值也是倍浮點數;其它的型態則傳回型態為整數。
--------------------------------------------------------------------------------
函式:Acos()
--------------------------------------------------------------------------------
數學運算函式庫
Acos
取得反余弦值。
語法: float acos(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
傳回參數 arg 的反余弦值 (arc cosine)。
參考
asin() atan()
--------------------------------------------------------------------------------
函式:Asin()
--------------------------------------------------------------------------------
數學運算函式庫
Asin
取得反正弦值。
語法: float asin(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
傳回參數 arg 的反正弦值 (arc sine)。
參考
acos() atan()
--------------------------------------------------------------------------------
函式:Atan()
--------------------------------------------------------------------------------
數學運算函式庫
Atan
取得反正切值。
語法: float atan(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
傳回參數 arg 的反正切值 (arc tangent)。
參考
acos() asin()
--------------------------------------------------------------------------------
函式:Atan2()
--------------------------------------------------------------------------------
數學運算函式庫
Atan2
計算二數的反正切值。
語法: float atan2(float y, float x);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式用來計算二數 y、x 的反正切值,計算結果與 atan() 計算 y/x 類似,但本函式會因 x、y 的正負號影響結果。而本函式的傳回值必落在正負的圓周率間 (-PI <= 值 <= PI)。
參考
acos() atan() asin()
--------------------------------------------------------------------------------
函式:base_convert()
--------------------------------------------------------------------------------
數學運算函式庫
base_convert
轉換數字的進位方式。
語法: string base_convert(string number, int frombase, int tobase);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式將數字字串 number 從以 frombase 進位轉換到以 tobase 進位。本式能夠處理的由以二進位到以三十六進位之間的進位方式。在十進位之前都是以數字表示,而在超過十進位之就用英文字母表示。例如十六進位個位數依序為 123456789abcdef,10 的順序是第十七個,這時才進一位。而三十六進位 a 是第十個、b 為第十一個、z 為第三十六個、10 是第三十七個,這時才進位。
使用范例
本例將十六進位字串轉成二進位字串
$binary = base_convert($hexadecimal, 16, 2);
echo "十六進位字串\"$hexadecimal\"轉成二進位為\"$binary\"。";
?>
--------------------------------------------------------------------------------
函式:BinDec()
--------------------------------------------------------------------------------
數學運算函式庫
BinDec
二進位轉成十進位。
語法: int bindec(string binary_string);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式將二進位數字字串轉成十進位的整數。由 PHP 使用 32 位元有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是二進位數字的 1111111111111111111111111111111 (31 個 1)。
參考
DecBin()
--------------------------------------------------------------------------------
函式:Ceil()
--------------------------------------------------------------------------------
數學運算函式庫
Ceil
計算大指定數的最小整數。
語法: int ceil(float number);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式用來計算比浮點參數 number 大的最小整數。
使用范例
本例傳回值為 4。
$nextint=ceil(3.14);
echo $nextint;
?>
參考
Floor() round()
--------------------------------------------------------------------------------
函式:Cos()
--------------------------------------------------------------------------------
數學運算函式庫
Cos
余弦計算。
語法: float cos(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算參數 arg 的余弦值 (cosine)。
參考
Sin() Tan()
--------------------------------------------------------------------------------
函式:DecBin()
--------------------------------------------------------------------------------
數學運算函式庫
DecBin
十進位轉二進位。
語法: string decbin(int number);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式將十進位數字轉成二進位字串。由 PHP 使用 32 位元有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是二進位數字的 1111111111111111111111111111111 (31 個 1)。
參考
BinDec()
--------------------------------------------------------------------------------
函式:DecHex()
--------------------------------------------------------------------------------
數學運算函式庫
DecHex
十進位轉十六進位。
語法: string dechex(int number);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式將十進位數字轉成十六進位字串。由 PHP 使用 32 位元有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是十六進位數字 7fffffff。
參考
HexDec()
--------------------------------------------------------------------------------
函式:DecOct()
--------------------------------------------------------------------------------
數學運算函式庫
DecOct
十進位轉八進位。
語法: string decoct(int number);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式將十進位數字轉成八進位字串。由 PHP 使用 32 位元有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是八進位數字 17777777777。
參考
OctDec()
--------------------------------------------------------------------------------
函式:Exp()
--------------------------------------------------------------------------------
數學運算函式庫
Exp
自然對數 e 的次方值。
語法: float exp(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算自然對數 (natural logarithm) 的 arg 次方值。
參考
pow() Log()
--------------------------------------------------------------------------------
函式:Floor()
--------------------------------------------------------------------------------
數學運算函式庫
Floor
計算小指定數的最大整數。
語法: int floor(float number);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式用來計算比浮點參數 number 小的最大整數。
使用范例
本例傳回值為 3。
$lastint=floor(3.14);
echo $lastint;
?>
參考
Ceil() round()
--------------------------------------------------------------------------------
函式:getrandmax()
--------------------------------------------------------------------------------
數學運算函式庫
getrandmax
亂數的最大值。
語法: int getrandmax(void);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式計算亂數函式 rand() 可能取得的取得的最大亂數值。本函式不需參數。
參考
rand() srand() mt_rand() mt_srand() mt_getrandmax()
--------------------------------------------------------------------------------
函式:HexDec()
--------------------------------------------------------------------------------
數學運算函式庫
HexDec
十六進位轉十進位。
語法: int hexdec(string hex_string);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式將十六進位字串轉成十進位數字。由 PHP 使用 32 位元有正負號整數計算,能處理的最大十六進位數字為 7fffffff,也就是十進位數字的 2147483647。
參考
DecHex()
--------------------------------------------------------------------------------
函式:Log()
--------------------------------------------------------------------------------
數學運算函式庫
Log
自然對數值。
語法: float log(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算參數 arg 的自然對數 (natural logarithm) 值。
--------------------------------------------------------------------------------
函式:Log10()
--------------------------------------------------------------------------------
數學運算函式庫
Log10
10 基底的對數值。
語法: float log10(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算參數 arg 的 10 基底對數值。
--------------------------------------------------------------------------------
函式:max()
--------------------------------------------------------------------------------
數學運算函式庫
max
取得最大值。
語法: mixed max(mixed arg1, mixed arg2 .... mixed argn);
傳回值: 混合型態資料
函式種類: 數學運算
內容說明
本函式計算參數間的最大值。若第一個參數是數字陣列,則會找出該陣列的最大數字。若第一個參數非陣列,則需二個以上的參數。這些數字可以是整數、倍精確數或數字字串的型態。參數的數目不限,視使用者的需求而定。在計算時,只要有一個參數是倍精確數,本函式會將所有的參數都轉成倍精確數,並傳回倍精確數。若參數只有整數及數字字串,則會將所有的參數轉換成整數,並傳回整數。
參考
min()
--------------------------------------------------------------------------------
函式:min()
--------------------------------------------------------------------------------
數學運算函式庫
min
取得最小值。
語法: mixed min(mixed arg1, mixed arg2 .... mixed argn);
傳回值: 混合型態資料
函式種類: 數學運算
內容說明
本函式計算參數間的最小值。若第一個參數是數字陣列,則會找出該陣列的最小數字。若第一個參數非陣列,則需二個以上的參數。這些數字可以是整數、倍精確數或數字字串的型態。參數的數目不限,視使用者的需求而定。在計算時,只要有一個參數是倍精確數,本函式會將所有的參數都轉成倍精確數,並傳回倍精確數。若參數只有整數及數字字串,則會將所有的參數轉換成整數,並傳回整數。
參考
max()
--------------------------------------------------------------------------------
函式:mt_rand()
--------------------------------------------------------------------------------
數學運算函式庫
mt_rand
取得亂數值。
語法: int mt_rand([int min], [int max]);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式不使用一般常用的 libc 來計算亂數值,而是使用計算速度至少快四倍的馬其賽特旋轉 (Mersenne Twister) 演算法來計算亂數值。有關馬特賽特旋轉演算法可在鬆本真的 http://www.math.keio.ac.jp/~matumoto/emt.html 找到更多的相關資訊,最佳化的原始程式則在 http://www.scp.syr.edu/~marc/hawk/twister.html。若沒有指定亂數的最大及最小范圍,本函式會自動的從 0 到 RAND_MAX 中取一個亂數。若有指定 min 及 max 的參數,則從指定參數中取一個數字,例如 mt_rand(38, 49) 則會從 38 到 49 之間取一個亂數值。值得注意的是為使亂數的亂度最大,每次在取亂數之前最好使用 mt_srand() 以設定新的亂數種子。
參考
rand() srand() getrandmax() mt_srand() mt_getrandmax()
--------------------------------------------------------------------------------
函式:mt_srand()
--------------------------------------------------------------------------------
數學運算函式庫
mt_srand
設定亂數種子。
語法: void mt_srand(int seed);
傳回值: 無
函式種類: 數學運算
內容說明
本函式傳入參數 seed ,設定亂數的種子。值得注意的是參數 seed 值最好也是隨機出現的數字,例如利用加入時間做為變數的來源就是不錯的方法,或者開發其它的硬體周邊介面可取得更好的亂數。
使用范例
本例加入時間的因素,以執行時的百萬分之一秒當亂數種子
mt_srand((double)microtime()*1000000);
$randval = mt_rand();
echo $randval;
?>
參考
rand() srand() getrandmax() mt_rand() mt_getrandmax()
--------------------------------------------------------------------------------
函式:mt_getrandmax()
--------------------------------------------------------------------------------
數學運算函式庫
mt_getrandmax
亂數的最大值。
語法: int mt_getrandmax(void);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式計算亂數函式 mt_rand() 可能取得的取得的最大亂數值。本函式不需參數。
參考
rand() srand() getrandmax() mt_srand() mt_rand()
--------------------------------------------------------------------------------
函式:number_format()
--------------------------------------------------------------------------------
數學運算函式庫
number_format
格式化數字字串。
語法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式用來將浮點參數 number 格式化。若沒加參數 decimals 則傳回的字串只要整數部份,加了此參數才依參數指定的小數點位數傳回。參數 dec_point 表示小數點的表示方式方法,內定值是 ".",若需要轉換成其它的小數點就可以在這個參數改掉。參數 thousands_sep 為整數部份每三位的分隔符號,內定值是 ","。本函式最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字串;也可以有二個或者四個參數,但不能用三個參數。值得注意的是指定小數點的位數之的數字直接舍棄,沒有四舍五入的情形。
使用范例
$short_pi = "3.14159";
$my_pi = number_format($short_pi, 2);
echo $my_pi."\n"; // 3.14
$foo = 850017.9021;
$new_foo = number_format($foo, 3, ".", " ");
echo $new_foo."\n"; // 850 017.902
?>
--------------------------------------------------------------------------------
函式:OctDec()
--------------------------------------------------------------------------------
數學運算函式庫
OctDec
八進位轉十進位。
語法: string decoct(int number);
傳回值: 字串
函式種類: 數學運算
內容說明
本函式將八進位字串轉成十進位數字。由 PHP 使用 32 位元有正負號整數計算,能處理最大的八進位數字為 17777777777,也就是十進位數字的 2147483647。
參考
DecOct()
--------------------------------------------------------------------------------
函式:pi()
--------------------------------------------------------------------------------
數學運算函式庫
pi
圓周率。
語法: double pi(void);
傳回值: 倍精確數
函式種類: 數學運算
內容說明
本函式傳回圓周率。不需輸入參數。
--------------------------------------------------------------------------------
函式:pow()
--------------------------------------------------------------------------------
數學運算函式庫
pow
次方。
語法: float pow(float base, float exp);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算次方值。參數 base 為基底,exp 為冪數。
使用范例
print(pow(2,3)); // 8
print(pow(5,4)); // 625
?>
參考
Log10() Exp()
--------------------------------------------------------------------------------
函式:rand()
--------------------------------------------------------------------------------
數學運算函式庫
rand
取得亂數值。
語法: int rand([int min], [int max]);
傳回值: 整數
函式種類: 數學運算
內容說明
本函式用來取得亂數值。若沒有指定亂數的最大及最小范圍,本函式會自動的從 0 到 RAND_MAX 中取一個亂數。若有指定 min 及 max 的參數,則從指定參數中取一個數字。例如 rand(38, 49) 則會從 38 到 49 之間取一個亂數值,UNIX 系統包含 49、Win32 系統不包含 49 (zkimmel@earthlink.net 10-May-1999)。值得注意的是為使亂數的亂度最大,每次在取亂數之前最好使用 srand() 以設定新的亂數種子。
參考
srand() getrandmax() mt_rand() mt_srand() mt_getrandmax()
--------------------------------------------------------------------------------
函式:round()
--------------------------------------------------------------------------------
數學運算函式庫
round
四舍五入。
語法: double round(double val);
傳回值: 倍精確數
函式種類: 數學運算
內容說明
本函式用來將數字小數點四舍五入。
使用范例
$foo1 = round(3.4);
$foo2 = round(3.5);
$foo3 = round(3.6);
echo "round(3.4): ".$foo1." \n";
echo "round(3.5): ".$foo2." \n";
echo "round(3.6): ".$foo3;
?>
參考
Ceil() Floor()
--------------------------------------------------------------------------------
函式:Sin()
--------------------------------------------------------------------------------
數學運算函式庫
Sin
正弦計算。
語法: float sin(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算參數 arg 的正弦值 (sine)。
參考
Cos() Tan()
--------------------------------------------------------------------------------
函式:Sqrt()
--------------------------------------------------------------------------------
數學運算函式庫
Sqrt
開平方根。
語法: float sqrt(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式將參數 arg 開平方根。
--------------------------------------------------------------------------------
函式:srand()
--------------------------------------------------------------------------------
數學運算函式庫
srand
設定亂數種子。
語法: void srand(int seed);
傳回值: 無
函式種類: 數學運算
內容說明
本函式傳入參數 seed ,設定亂數的種子。值得注意的是參數 seed 值最好也是隨機出現的數字,例如利用加入時間做為變數的來源就是不錯的方法,或者開發其它的硬體周邊介面可取得更好的亂數。
使用范例
本例加入時間的因素,以執行時的百萬分之一秒當亂數種子
srand((double)microtime()*1000000);
$randval = rand();
echo $randval;
?>
參考
rand() getrandmax() mt_srand() mt_rand() mt_getrandmax()
--------------------------------------------------------------------------------
函式:Tan()
--------------------------------------------------------------------------------
數學運算函式庫
Tan
正切計算。
語法: float tan(float arg);
傳回值: 浮點數
函式種類: 數學運算
內容說明
本函式計算參數 arg 的正切值 (tangent)。
參考
Sin() Cos()
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
PHP4手冊:函數庫及函數(四十六) SNMP 網管函式庫 (2001-04-18 16:56:55) PHP4手冊:函數庫及函數(四十五) Solid 資料庫連結函式庫 (2001-04-18 16:54:16) PHP4手冊:函數庫及函數(四十四) 信號與共享記憶體函式庫 (2001-04-18 16:49:09) PHP4手冊:函數庫及函數(四十三) 常規表示法函式庫 (2001-04-18 16:40:33) PHP4手冊:函數庫及函數(四十二) URL 處理函式庫 (2001-04-18 16:37:13) PHP4手冊:函數庫及函數(四十一) PostgreSQL 資料庫函式庫 (2001-04-18 15:58:12) PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 2 (2001-04-18 15:53:53) PHP4手冊:函數庫及函數(四十) PDF 格式檔案函式庫 - 1 (2001-04-18 15:53:35) PHP4手冊:函數庫及函數(三十九) Perl 相容語法函式庫 (2001-04-18 15:45:08) PHP4手冊:函數庫及函數(三十八) Oracle 資料庫函式庫 (2001-04-18 15:43:09)
|
===更多相關=== |
|
|
 |
★ 樊強制作 歡迎分享 ★ |