This article summarizes and analyzes PHP mathematical operation functions. Share it with everyone for your reference, the details are as follows:
1. Description of commonly used functions:
Abs: Get the absolute value.
Acos: Get the arc cosine value.
Asin: Get the arcsine value.
Atan: Get the arctangent value.
Atan2: Calculate the arc tangent of a two number.
base_convert: The carry method for converting numbers.
BinDec: Convert binary to decimal.
Ceil: Calculate the smallest integer greater than the specified number.
Cos: Cosine calculation.
DecBin: Convert decimal to binary.
DecHex: Convert decimal to hexadecimal.
DecOct: Convert decimal to octal.
Exp: The power of the natural logarithm e.
Floor: Calculate the largest integer less than the specified number.
getrandmax: the maximum value of random numbers.
HexDec: Convert hexadecimal to decimal.
Log: Natural logarithm value.
Log10: Log value of 10 base.
max: Get the maximum value.
min: Get the minimum value.
mt_rand: Get a random value.
mt_srand: Configure random number seed.
mt_getrandmax: The maximum value of random number.
number_format: Format number string.
OctDec: Convert octal to decimal.
pi: Pi.
pow: power.
rand: Get a random value.
round: Rounded.
Sin: Sine calculation.
Sqrt: Square root.
srand: configure random number seed.
Tan: Tangent calculation.
2. Function analysis is as follows:
Abs
Get the absolute value.
Syntax: mixed abs(mixed number);
Return value: Mixed type data
Function type: Mathematical operation
Content description: Returns the absolute value of parameter number. If number is a multiple-precision floating-point number, the return value is also a multiple-precision floating-point number; for other types, the return type is an integer.
Acos
Get the arc cosine value.
Syntax: float acos(float arg);
Return value: floating point number
Function type: Mathematical operation
Content description: Returns the arc cosine of parameter arg.
Reference: asin() atan()
Asin
Get the arcsine value.
Syntax: float asin(float arg);
Return value: floating point number
Function type: Mathematical operation
Content description: Returns the arc sine value (arc sine) of parameter arg.
Reference: acos() atan()
Atan
Get the arctangent value.
Syntax: float atan(float arg);
Return value: floating point number
Function type: Mathematical operation
Content description: Returns the arc tangent of parameter arg (arc tangent).
Reference: acos() asin()
Atan2
Calculate the arctangent of a two number.
Syntax: float atan2(float y, float x);
Return value: floating point number
Function type: Mathematical operation
Content description: This function is used to calculate the arc tangent of two numbers y and x. The calculation result is similar to atan()'s calculation of y/x, but this function will affect the result due to the positive and negative signs of x and y. The return value of this function must fall between positive and negative pi (-PI <= (value) ≶= PI)
Reference acos() atan() asin()
base_convert
Convert the carry method of numbers.
Syntax: string base_convert(string number, int frombase, int tobase);
Return value: string
Function type: Mathematical operation
Content Description: This function converts the numeric string number from carry from base to carry from tobase. This formula can handle carry modes from binary to hexadecimal. Before the decimal place, it is represented by numbers, and after the decimal place is exceeded, it is represented by English letters. For example, the sequence of hexadecimal single digits is 123456789abcdef, and the sequence of 10 is the seventeenth, and then one digit is carried forward. In hexadecimal a is the tenth, b is the eleventh, z is the thirty-sixth, and 10 is the thirty-seventh, then the carry is carried out.
Usage Example
This example converts a hexadecimal string into a binary string
<?php $binary = base_convert($hexadecimal, 16, 2); echo "十六进位字符串"$hexadecimal"转成二进位为"$binary"。"; ?>
BinDec
Convert binary to decimal.
Syntax: int bindec(string binary_string);
Return value: integer
Function type: Mathematical operation
Content description: This function converts a binary digit string into a decimal integer. Since PHP uses 32-bit signed integers for calculations, the maximum decimal number it can handle is 2147483647, which is 1111111111111111111111111111111 (31 ones) in binary.
Reference: DecBin()
Ceil
Computes the smallest integer greater than the specified number.
Syntax: int ceil(float number);
Return value: integer
Function type: Mathematical operation
Content description: This function is used to calculate the smallest integer larger than the floating point parameter number.
Usage Example
The return value in this example is 4.
<?php $nextint=ceil(3.14); echo $nextint; ?>
Reference: 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。
<?php $lastint=floor(3.14); echo $lastint; ?>
参考: 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 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬体周边界面可取得更好的乱数。
使用范例
本例加入时间的因素,以执行时的百万分之一秒当乱数种子
<?php mt_srand((double)microtime()*1000000); $randval = mt_rand(); echo $randval; ?>
参考: 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 为整数部份每三位的分隔符号,默认值是 ","。本函数最特别的地方就是参数数目,最少要有一个,也就是欲格式化的字符串;也可以有二个或者四个参数,但不能用三个参数。值得注意的是指定小数点的位数之后的数字直接舍弃,没有四舍五入的情形。
使用范例
<?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 ?>
OctDec
八进位转十进位。
语法: string decoct(int number);
返回值: 字符串
函数种类: 数学运算
内容说明: 本函数将八进位字符串转成十进位数字。由于 PHP 使用 32 位有正负号整数计算,能处理最大的八进位数字为 17777777777,也就是十进位数字的 2147483647。
参考: DecOct()
pi
圆周率。
语法: double pi(void);
返回值: 倍精确数
函数种类: 数学运算
内容说明: 本函数返回圆周率。不需输入参数。
pow
次方。
语法: float pow(float base, float exp);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数计算次方值。参数 base 为基底,exp 为幂数。
使用范例
<?php print(pow(2,3)); // 8 print(pow(5,4)); // 625 ?>
参考: 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);
返回值: 倍精确数
函数种类: 数学运算
内容说明: 本函数用来将数字小数点后四舍五入。
使用范例
<?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; ?>
参考: Ceil() Floor()
Sin
正弦计算。
语法: float sin(float arg);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数计算参数 arg 的正弦值 (sine)。
参考: Cos() Tan()
Sqrt
开平方根。
语法: float sqrt(float arg);
返回值: 浮点数
函数种类: 数学运算
内容说明: 本函数将参数 arg 开平方根。
srand
配置随机数种子。
语法: void srand(int seed);
返回值: 无
函数种类: 数学运算
内容说明: 本函数传入参数 seed 后,配置随机数的种子。值得注意的是参数 seed 值最好也是随机出现的数字,例如利用加入时间做为变量的来源就是不错的方法,或者开发其它的硬体周边界面可取得更好的随机数。
使用范例
本例加入时间的因素,以执行时的百万分之一秒当随机数种子
<?php srand((double)microtime()*1000000); $randval = rand(); echo $randval; ?>
参考: 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程序设计有所帮助。