PHP算术运算符是用于执行数学计算的一组特殊符号,例如上学时学到的基本数据知识,它们可以对数值进行加法、减法、标识、乘法、除法和求幂等基本操作,以及对变量进行赋值、取值和逻辑运算等高级操作。
一、算术运算符
例子 | 名称 | 结果 |
+$a | 标识 | 根据情况将 $a 转化为 int 或 float。 |
-$a | 取反 | $a 的负值。 |
$a + $b | 加法 | $a 和 $b 的和。 |
$a – $b | 减法 | $a 和 $b 的差。 |
$a * $b | 乘法 | $a 和 $b 的积。 |
$a / $b | 除法 | $a 除以 $b 的商。 |
$a % $b | 取模 | $a 除以 $b 的余数。 |
$a ** $b | 求幂 | $a 的 $b次方的值。 |
二、除法运算符
在大多数编程语言中,除法运算符通常返回一个浮点数结果。这是因为在数学上,除法运算的结果可能是一个无限循环小数,无法精确表示为有限的浮点数。因此,为了保持精度,除法运算符通常会返回一个浮点数结果。
在某些特殊情况下,除法运算符会返回一个整数结果。当两个操作数都是整数(或者可以转换为整数)并且它们的商正好是一个整数时,除法运算符就会返回这个整数结果。例如,如果我们使用 intdiv() 函数进行整数除法,那么它就会返回一个整数结果。
三、取模运算符
取模运算符的操作数在运算之前都会被转换成整数。这是因为取模运算实际上是在求一个数除以另一个数的余数,而余数总是一个小于除数的非负整数。因此,为了保证结果的正确性,我们需要将操作数转换成整数。
当我们对浮点数进行取模运算时,我们可以使用 fmod() 函数。fmod() 函数会返回两个浮点数相除后的余数,即使得结果尽可能接近于一个整数。取模运算符 % 的结果和被除数的符号(正负号)相同。即 $a % $b 的结果和 $a 的符号相同。例如:
<?php echo (5 % 3)."\n"; // 打印 2 echo (5 % -3)."\n"; // 打印 2 echo (-5 % 3)."\n"; // 打印 -2 echo (-5 % -3)."\n"; // 打印 -2 ?>
四、数学符号
- abs : 绝对值;
- acos : 反余弦;
- acosh : 反双曲余弦;
- asin : 反正弦;
- asinh : 反双曲正弦;
- atan2 : 两个参数的反正切;
- atan : 反正切;
- atanh : 反双曲正切;
- base_convert : 在任意进制之间转换数字;
- bindec : 二进制转换为十进制;
- ceil : 进一法取整;
- cos : 余弦;
- cosh : 双曲余弦;
- decbin : 十进制转换为二进制;
- dechex : 十进制转换为十六进制;
- decoct : 十进制转换为八进制;
- deg2rad : 将角度转换为弧度;
- exp : 计算 e 的指数;
- expm1 : 返回 exp($num) – 1,甚至当 number 的值接近零也能计算出准确结果;
- fdiv : Divides two numbers, according to IEEE 754;
- floor : 舍去法取整;
- fmod : 返回除法的浮点数余数;
- hexdec : 十六进制转换为十进制;
- hypot : 计算直角三角形的斜边长度;
- intdiv : 对除法结果取整;
- is_finite : 判断是否为有限值;
- is_infinite : 判断是否为无限值;
- is_nan : 判断是否为合法数值;
- log10 : 以 10 为底的对数;
- log1p : 返回 log(1 + number),甚至当 number 的值接近零也能计算出准确结果;
- log : 自然对数;
- max : 找出最大值;
- min : 找出最小值;
- octdec : 八进制转换为十进制;
- pi : 得到圆周率值;
- pow : 指数表达式;
- rad2deg : 将弧度数转换为相应的角度数;
- round : 对浮点数进行四舍五入;
- sin : 正弦;
- sinh : 双曲正弦;
- sqrt : 平方根;
- tan : 正切;
- tanh : 双曲正切。