Heim  >  Artikel  >  Backend-Entwicklung  >  PHP数学运算函数大汇总(经典值得收藏)_php技巧

PHP数学运算函数大汇总(经典值得收藏)_php技巧

WBOY
WBOYOriginal
2016-05-16 19:55:031442Durchsuche

本文汇总分析了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 参考 acos() atan() asin()

base_convert
转换数字的进位方式。
语法: string base_convert(string number, int frombase, int tobase);
返回值: 字符串
函数种类: 数学运算
内容说明: 本函数将数字字符串 number 从以 frombase 进位转换到以 tobase 进位。本式能够处理的由以二进位到以三十六进位之间的进位方式。在十进位之前都是以数字表示,而在超过十进位之后就用英文字母表示。例如十六进位个位数依序为 123456789abcdef,10 的顺序是第十七个,这时才进一位。而三十六进位 a 是第十个、b 为第十一个、z 为第三十六个、10 是第三十七个,这时才进位。

使用范例

本例将十六进位字符串转成二进位字符串

<&#63;php
$binary = base_convert($hexadecimal, 16, 2);
echo "十六进位字符串"$hexadecimal"转成二进位为"$binary"。";
&#63;>

BinDec
二进位转成十进位。
语法: int bindec(string binary_string);
返回值: 整数
函数种类: 数学运算
内容说明: 本函数将二进位数字字符串转成十进位的整数。由于 PHP 使用 32 位有正负号整数计算,能处理的最大十进位数字为 2147483647,也就是二进位数字的 1111111111111111111111111111111 (31 个 1)。
参考: DecBin()

Ceil
计算大于指定数的最小整数。
语法: int ceil(float number);
返回值: 整数
函数种类: 数学运算
内容说明: 本函数用来计算比浮点参数 number 大的最小整数。

使用范例

本例返回值为 4。

<&#63;php
$nextint=ceil(3.14);
echo $nextint;
&#63;> 

参考: 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。

<&#63;php
$lastint=floor(3.14);
echo $lastint;
&#63;> 

参考: 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 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬体周边界面可取得更好的乱数。

使用范例

本例加入时间的因素,以执行时的百万分之一秒当乱数种子

<&#63;php
mt_srand((double)microtime()*1000000);
$randval = mt_rand();
echo $randval;
&#63;> 

参考: 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 为整数部份每三位的分隔符号,默认值是 ","。本函数最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字符串;也可以有二个或者四个参数,但不能用三个参数。值得注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形。

使用范例

<&#63;php
$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
&#63;>

OctDec
八进位转十进位。
语法: string decoct(int number);
返回值: 字符串
函数种类: 数学运算
内容说明: 本函数将八进位字符串转成十进位数字。由于 PHP 使用 32 位有正负号整数计算,能处理最大的八进位数字为 17777777777,也就是十进位数字的 2147483647。
参考: DecOct()

pi
圆周率。
语法: double pi(void);
返回值: 倍精确数
函数种类: 数学运算
内容说明: 本函数返回圆周率。不需输入参数。

pow
次方。
语法: float pow(float base, float exp);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数计算次方值。参数 base 为基底,exp 为幂数。

使用范例

<&#63;php
print(pow(2,3)); // 8
print(pow(5,4)); // 625
&#63;> 

参考: 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);
返回值: 倍精确数
函数种类: 数学运算
内容说明: 本函数用来将数字小数点后四舍五入。

使用范例

<&#63;php
$foo1 = round(3.4);
$foo2 = round(3.5);
$foo3 = round(3.6);
echo "round(3.4): ".$foo1."<br>n";
echo "round(3.5): ".$foo2."<br>n";
echo "round(3.6): ".$foo3;
&#63;>

参考: Ceil() Floor()

Sin
正弦计算。
语法: float sin(float arg);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数计算参数 arg 的正弦值 (sine)。
参考: Cos() Tan()

Sqrt
开平方根。
语法: float sqrt(float arg);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数将参数 arg 开平方根。

srand
配置随机数种子。
语法: void srand(int seed);
返回值: 无
函数种类: 数学运算
内容说明: 本函数传入参数 seed 后,配置随机数的种子。值得注意的是参数 seed 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬体周边界面可取得更好的随机数。

使用范例

本例加入时间的因素,以执行时的百万分之一秒当随机数种子

<&#63;php
srand((double)microtime()*1000000);
$randval = rand();
echo $randval;
&#63;> 

参考: rand() getrandmax() mt_srand() mt_rand() mt_getrandmax()

Tan
正切计算。
语法: float tan(float arg);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数计算参数 arg 的正切值 (tangent)。
参考: Sin() Cos()

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn