- 相關推薦
PHP數學運算函數大匯總
一、常用函數說明:
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
取得絕對值。
語法: mixed abs(mixed number);
返回值: 混合類型資料
函數種類: 數學運算
內容說明: 返回參數 number 的絕對值。若 number 是倍精確浮點數,則返回值也是倍浮點數;其它的類型則返回類型為整數。
Acos
取得反余弦值。
語法: float acos(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 返回參數 arg 的反余弦值 (arc cosine)。
參考: asin() atan()
Asin
取得反正弦值。
語法: float asin(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 返回參數 arg 的反正弦值 (arc sine)。
參考: acos() atan()
Atan
取得反正切值。
語法: float atan(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 返回參數 arg 的反正切值 (arc tangent)。
參考: acos() asin()
Atan2
計算二數的反正切值。
語法: float atan2(float y, float x);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數用來計算二數 y、x 的反正切值,計算結果與 atan() 計算 y/x 類似,但本函數會因 x、y 的正負號影響結果。而本函數的返回值必落在正負的圓周率間 (-PI <= (值) ≶= PI)
參考 acos() atan() asin()
base_convert
轉換數字的進位方式。
語法: string base_convert(string number, int frombase, int tobase);
返回值: 字符串
函數種類: 數學運算
內容說明: 本函數將數字字符串 number 從以 frombase 進位轉換到以 tobase 進位。本式能夠處理的由以二進位到以三十六進位之間的進位方式。在十進位之前都是以數字表示,而在超過十進位之后就用英文字母表示。例如十六進位個位數依序為 123456789abcdef,10 的順序是第十七個,這時才進一位。而三十六進位 a 是第十個、b 為第十一個、z 為第三十六個、10 是第三十七個,這時才進位。
使用范例
本例將十六進位字符串轉成二進位字符串
BinDec
二進位轉成十進位。
語法: int bindec(string binary_string);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數將二進位數字字符串轉成十進位的整數。由于 PHP 使用 32 位有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是二進位數字的 1111111111111111111111111111111 (31 個 1)。
參考: DecBin()
Ceil
計算大于指定數的最小整數。
語法: int ceil(float number);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數用來計算比浮點參數 number 大的最小整數。
使用范例
本例返回值為 4。
參考: Floor() round()
Cos
余弦計算。
語法: float cos(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算參數 arg 的余弦值 (cosine)。
參考: Sin() Tan()
DecBin
十進位轉二進位。
語法: string decbin(int number);
返回值: 字符串
函數種類: 數學運算
內容說明: 本函數將十進位數字轉成二進位字符串。由于 PHP 使用 32 位有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是二進位數字的 1111111111111111111111111111111 (31 個 1)。
參考: BinDec()
DecHex
十進位轉十六進位。
語法: string dechex(int number);
返回值: 字符串
函數種類: 數學運算
內容說明: 本函數將十進位數字轉成十六進位字符串。由于 PHP 使用 32 位有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是十六進位數字 7fffffff。
參考: HexDec()
DecOct
十進位轉八進位。
語法: string decoct(int number);
返回值: 字符串
函數種類: 數學運算
內容說明: 本函數將十進位數字轉成八進位字符串。由于 PHP 使用 32 位有正負號整數計算,能處理的最大十進位數字為 2147483647,也就是八進位數字 17777777777。
參考: OctDec()
Exp
自然對數 e 的次方值。
語法: float exp(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算自然對數 (natural logarithm) 的 arg 次方值。
參考: pow() Log()
Floor
計算小于指定數的最大整數。
語法: int floor(float number);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數用來計算比浮點參數 number 小的最大整數。
使用范例
本例返回值為 3。
參考: Ceil() round()
getrandmax
亂數的最大值。
語法: int getrandmax(void);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數計算亂數函數 rand() 可能取得的取得的最大亂數值。本函數不需參數。
參考: rand() srand() mt_rand() mt_srand() mt_getrandmax()
HexDec
十六進位轉十進位。
語法: int hexdec(string hex_string);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數將十六進位字符串轉成十進位數字。由于 PHP 使用 32 位有正負號整數計算,能處理的最大十六進位數字為 7fffffff,也就是十進位數字的 2147483647。
參考: DecHex()
Log
自然對數值。
語法: float log(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算參數 arg 的自然對數 (natural logarithm) 值。
Log10
10 基底的對數值。
語法: float log10(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算參數 arg 的 10 基底對數值。
max
取得最大值。
語法: mixed max(mixed arg1, mixed arg2 .... mixed argn);
返回值: 混合類型資料
函數種類: 數學運算
內容說明: 本函數計算參數間的最大值。若第一個參數是數字數組,則會找出該數組的最大數字。若第一個參數非數組,則需二個以上的參數。這些數字可以是整數、倍精確數或數字字符串的類型。參數的數目不限,視用戶的需求而定。在計算時,只要有一個參數是倍精確數,本函數會將所有的參數都轉成倍精確數,并返回倍精確數。若參數只有整數及數字字符串,則會將所有的參數轉換成整數,并返回整數。
參考: min()
min
取得最小值。
語法: mixed min(mixed arg1, mixed arg2 .... mixed argn);
返回值: 混合類型資料
函數種類: 數學運算
內容說明: 本函數計算參數間的最小值。若第一個參數是數字數組,則會找出該數組的最小數字。若第一個參數非數組,則需二個以上的參數。這些數字可以是整數、倍精確數或數字字符串的類型。參數的數目不限,視用戶的需求而定。在計算時,只要有一個參數是倍精確數,本函數會將所有的參數都轉成倍精確數,并返回倍精確數。若參數只有整數及數字字符串,則會將所有的參數轉換成整數,并返回整數。
參考: max()
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
配置亂數種子。
語法: void mt_srand(int seed);
返回值: 無
函數種類: 數學運算
內容說明: 本函數傳入參數 seed 后,配置亂數的種子。值得注意的是參數 seed 值最好也是隨機出現的數字,例如利用加入時間做為變量的來源就是不錯的方法,或者開發其它的硬體周邊界面可取得更好的亂數。
使用范例
本例加入時間的因素,以執行時的百萬分之一秒當亂數種子
參考: rand() srand() getrandmax() mt_rand() mt_getrandmax()
mt_getrandmax
亂數的最大值。
語法: int mt_getrandmax(void);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數計算亂數函數 mt_rand() 可能取得的取得的最大亂數值。本函數不需參數。
參考: rand() srand() getrandmax() mt_srand() mt_rand()
number_format
格式化數字字符串。
語法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);
返回值: 字符串
函數種類: 數學運算
內容說明: 本函數用來將浮點參數 number 格式化。若沒加參數 decimals 則返回的字符串只要整數部份,加了此參數才依參數指定的小數點位數返回。參數 dec_point 表示小數點的表示方式方法,默認值是 ".",若需要轉換成其它的小數點就可以在這個參數改掉。參數 thousands_sep 為整數部份每三位的分隔符號,默認值是 ","。本函數最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字符串;也可以有二個或者四個參數,但不能用三個參數。值得注意的是指定小數點的位數之后的數字直接舍棄,沒有四舍五入的情形。
使用范例
OctDec
八進位轉十進位。
語法: string decoct(int number);
返回值: 字符串
函數種類: 數學運算
內容說明: 本函數將八進位字符串轉成十進位數字。由于 PHP 使用 32 位有正負號整數計算,能處理最大的八進位數字為 17777777777,也就是十進位數字的 2147483647。
參考: DecOct()
pi
圓周率。
語法: double pi(void);
返回值: 倍精確數
函數種類: 數學運算
內容說明: 本函數返回圓周率。不需輸入參數。
pow
次方。
語法: float pow(float base, float exp);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算次方值。參數 base 為基底,exp 為冪數。
使用范例
參考: Log10() Exp()
rand
取得隨機數值。
語法: int rand([int min], [int max]);
返回值: 整數
函數種類: 數學運算
內容說明: 本函數用來取得隨機數值。若沒有指定隨機數的最大及最小范圍,本函數會自動的從 0 到 RAND_MAX 中取一個隨機數。若有指定 min 及 max 的參數,則從指定參數中取一個數字。例如 rand(38, 49) 則會從 38 到 49 之間取一個隨機數值,UNIX 系統包含 49、Win32 系統不包含 49 ([email=zkimmel@earthlink.net]zkimmel@earthlink.net[/email] 10-May-1999)。值得注意的是為使隨機數的亂度最大,每次在取隨機數之前最好使用 srand() 以配置新的隨機數種子。
參考: srand() getrandmax() mt_rand() mt_srand() mt_getrandmax()
round
四舍五入。
語法: double round(double val);
返回值: 倍精確數
函數種類: 數學運算
內容說明: 本函數用來將數字小數點后四舍五入。
使用范例
參考: Ceil() Floor()
Sin
正弦計算。
語法: float sin(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算參數 arg 的正弦值 (sine)。
參考: Cos() Tan()
Sqrt
開平方根。
語法: float sqrt(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數將參數 arg 開平方根。
srand
配置隨機數種子。
語法: void srand(int seed);
返回值: 無
函數種類: 數學運算
內容說明: 本函數傳入參數 seed 后,配置隨機數的種子。值得注意的是參數 seed 值最好也是隨機出現的數字,例如利用加入時間做為變量的來源就是不錯的方法,或者開發其它的硬體周邊界面可取得更好的隨機數。
使用范例
本例加入時間的因素,以執行時的百萬分之一秒當隨機數種子
參考: rand() getrandmax() mt_srand() mt_rand() mt_getrandmax()
Tan
正切計算。
語法: float tan(float arg);
返回值: 浮點數
函數種類: 數學運算
內容說明: 本函數計算參數 arg 的正切值 (tangent)。
參考: Sin() Cos()
【PHP數學運算函數大】相關文章:
PHP的壓縮函數06-21
淺析php函數的實例06-08
php外部執行命令函數10-27
簡單介紹php構造函數用法08-31
PHP中函數的使用說明09-01
PHP中的排序函數區別分析08-23
探討PHP函數的實現原理及性能07-07
php對圖像的各種處理函數代碼總結07-03
php字符串處理函數大全08-21
PHP url 加密解密函數代碼方法10-25