叁柒設計 三七设计 Three seven design 我的学习与分享
详细信息
来自:关键字:

PHP4手册:函数库及函数(二十六) 数学运算函式库

  December 21th,2008 22:39:58   Category : PHP+Mysql
 Click (583)

--------------------------------------------------------------------------------
 数学运算函式库 
--------------------------------------------------------------------------------
 


本函式库共有 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()

[ 资讯评论 ]
暂时没有任何评论!
[ 提交评论 ]
请选择表情
  • 昵称:
  • *
  • 验证码:
  • *点击更换验证码
  • 尚能输入个字符
申明:本网站部分分享内容来自网络,如有侵权请及时与我联系,谢谢,另网友评论仅代表个人观点,与本站立场无关,如果在评论中发表违反我国任何法律的,请即时与我们联系(QQ:77132915),我们将立即予以删除. [ 注:提交评论后,通过审核后方能在网站上显示!]