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


Posted in PHP onApril 01, 2016

本文汇总分析了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 是第三十七个,这时才进位。

使用范例

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

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

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

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

使用范例

本例返回值为 4。

<?php
$nextint=ceil(3.14);
echo $nextint;
?>

参考: 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 相关文章推荐
详细介绍:Apache+PHP+MySQL配置攻略
Sep 05 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
Jun 24 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
php的SimpleXML方法读写XML接口文件实例解析
Jun 16 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
php实现统计目录文件大小的函数
Dec 25 PHP
Thinkphp框架开发移动端接口(1)
Aug 18 PHP
PHP设置images目录不充许http访问的方法
Nov 01 PHP
php 处理png图片白色背景色改为透明色的实例代码
Dec 10 PHP
PHP支付宝当面付2.0代码
Dec 21 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
Apr 15 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
Mar 31 #PHP
php获取本机真实IP地址实例代码
Mar 31 #PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 #PHP
php中使用GD库做验证码
Mar 31 #PHP
php实现搜索类封装示例
Mar 31 #PHP
PHP-FPM实现性能优化
Mar 31 #PHP
PHP实现通过URL提取根域名
Mar 31 #PHP
You might like
星际RPG字典
2020/03/04 星际争霸
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
PHP get_html_translation_table()函数用法讲解
2019/02/16 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
LazyForm jQuery plugin 定制您的CheckBox Radio和Select
2009/10/24 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
JS二叉树的简单实现方法示例
2017/04/05 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
2019/11/20 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
Python解惑之整数比较详解
2017/04/24 Python
python里使用正则的findall函数的实例详解
2017/10/19 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
Python分支结构(switch)操作简介
2018/01/17 Python
Flask之请求钩子的实现
2018/12/23 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
python 实现音频叠加的示例
2020/10/29 Python
Proenza Schouler官方网站:纽约女装和配饰品牌
2019/01/03 全球购物
医学专业大学生求职的自我评价
2013/11/27 职场文书
森林防火宣传标语
2014/06/27 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server