[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Php > 正文
PHP4手冊:函數庫及函數(二十六) 數學運算函式庫
http://netleader.126.com 星空浪子 (2001-04-18 14:47:48)

--------------------------------------------------------------------------------
 數學運算函式庫 
--------------------------------------------------------------------------------
 


本函式庫共有 33 個函式
本函式庫能處理的數值范圍只到長整數與倍浮點數的范圍。若要處理超過上述范圍的數值,要使用 BC 高精確度函式庫。本函式庫定義了圓周率的常數 M_PI 值為 3.14159265358979323846。  


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)

===更多相關===
 

★  樊強制作 歡迎分享  ★