算术运算符 #
一、基本算术运算符 #
1.1 运算符列表 #
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
| + | 加法 | $a + $b | 两数之和 |
| - | 减法 | $a - $b | 两数之差 |
| * | 乘法 | $a * $b | 两数之积 |
| / | 除法 | $a / $b | 两数之商 |
| % | 取模 | $a % $b | 余数 |
| ** | 幂运算 | $a ** $b | $a的$b次方 |
1.2 基本运算 #
php
<?php
$a = 10;
$b = 3;
echo $a + $b;
echo $a - $b;
echo $a * $b;
echo $a / $b;
echo $a % $b;
echo $a ** $b;
二、加法运算符 #
2.1 数字加法 #
php
<?php
echo 10 + 20;
echo 10.5 + 20.5;
echo -5 + 10;
2.2 字符串数字加法 #
php
<?php
echo "10" + 20;
echo "10.5" + 20;
echo "10abc" + 20;
echo "abc" + 20;
2.3 数组加法(联合) #
php
<?php
$a = ['a' => 1, 'b' => 2];
$b = ['b' => 3, 'c' => 4];
$result = $a + $b;
print_r($result);
三、减法运算符 #
php
<?php
echo 20 - 10;
echo 10.5 - 5.5;
echo -5 - 10;
echo "20" - 10;
四、乘法运算符 #
php
<?php
echo 10 * 3;
echo 2.5 * 4;
echo -3 * 4;
echo "10" * 3;
五、除法运算符 #
5.1 基本除法 #
php
<?php
echo 10 / 2;
echo 10 / 3;
echo 10 / 4;
5.2 整数除法 #
PHP 7+ 提供整数除法函数:
php
<?php
echo intdiv(10, 3);
echo intdiv(-10, 3);
5.3 除以零 #
php
<?php
echo 10 / 0;
echo 10 / 0.0;
六、取模运算符 #
6.1 基本取模 #
php
<?php
echo 10 % 3;
echo 10 % 2;
echo -10 % 3;
echo 10 % -3;
6.2 取模结果符号 #
结果符号与被除数相同:
php
<?php
echo -10 % 3;
echo 10 % -3;
6.3 浮点数取模 #
php
<?php
echo fmod(10.5, 3);
6.4 常见应用 #
判断奇偶:
php
<?php
function isEven(int $n): bool
{
return $n % 2 === 0;
}
function isOdd(int $n): bool
{
return $n % 2 !== 0;
}
循环周期:
php
<?php
for ($i = 0; $i < 10; $i++) {
if ($i % 3 === 0) {
echo "第 $i 次(每3次输出)\n";
}
}
七、幂运算符 #
7.1 基本幂运算 #
php
<?php
echo 2 ** 3;
echo 2 ** 10;
echo 4 ** 0.5;
echo 8 ** (1/3);
7.2 负指数 #
php
<?php
echo 2 ** -2;
echo 10 ** -1;
7.3 pow() 函数 #
php
<?php
echo pow(2, 10);
echo pow(4, 0.5);
八、自增与自减 #
8.1 运算符 #
| 运算符 | 名称 | 效果 |
|---|---|---|
| ++$a | 前置自增 | 先加1,再返回 |
| $a++ | 后置自增 | 先返回,再加1 |
| –$a | 前置自减 | 先减1,再返回 |
| $a– | 后置自减 | 先返回,再减1 |
8.2 前置与后置区别 #
php
<?php
$a = 5;
echo ++$a;
echo $a;
$a = 5;
echo $a++;
echo $a;
php
<?php
$a = 5;
echo --$a;
echo $a;
$a = 5;
echo $a--;
echo $a;
8.3 在表达式中使用 #
php
<?php
$a = 5;
$b = $a++ * 2;
echo "a = $a, b = $b";
$a = 5;
$b = ++$a * 2;
echo "a = $a, b = $b";
8.4 字符串自增 #
php
<?php
$s = 'a';
echo ++$s;
echo ++$s;
$s = 'z';
echo ++$s;
$s = 'A';
echo ++$s;
$s = 'Z';
echo ++$s;
九、一元负号 #
php
<?php
$a = 5;
echo -$a;
echo -(-$a);
$b = -10;
echo -$b;
十、数学函数 #
10.1 取整函数 #
php
<?php
echo floor(3.7);
echo ceil(3.2);
echo round(3.5);
echo round(3.4);
echo round(3.456, 2);
echo (int) 3.7;
10.2 绝对值 #
php
<?php
echo abs(-5);
echo abs(-3.14);
echo abs(5);
10.3 最大最小值 #
php
<?php
echo max(1, 2, 3, 4, 5);
echo min(1, 2, 3, 4, 5);
$arr = [1, 5, 3, 2, 4];
echo max($arr);
echo min($arr);
10.4 随机数 #
php
<?php
echo rand();
echo rand(1, 100);
echo mt_rand();
echo mt_rand(1, 100);
echo random_int(1, 100);
10.5 三角函数 #
php
<?php
echo sin(M_PI / 2);
echo cos(0);
echo tan(M_PI / 4);
echo deg2rad(90);
echo rad2deg(M_PI / 2);
10.6 对数与指数 #
php
<?php
echo log(10);
echo log(100, 10);
echo log10(100);
echo exp(1);
10.7 平方根 #
php
<?php
echo sqrt(16);
echo sqrt(2);
echo hypot(3, 4);
十一、运算中的类型转换 #
11.1 自动转换 #
php
<?php
echo 10 + "20";
echo 10 + 2.5;
echo "10.5" + 2.5;
echo 10 + true;
echo 10 + false;
11.2 转换规则 #
| 操作数类型 | 结果类型 |
|---|---|
| int + int | int |
| int + float | float |
| float + float | float |
| string(数字) + int | int/float |
| string(非数字) + int | int(0) |
十二、精度问题 #
12.1 浮点数精度 #
php
<?php
$a = 0.1 + 0.2;
$b = 0.3;
var_dump($a == $b);
var_dump(abs($a - $b) < 0.00001);
12.2 使用BCMath #
php
<?php
$a = bcadd('0.1', '0.2', 2);
echo $a;
echo bcsub('1.0', '0.9', 2);
echo bcmul('0.1', '0.2', 2);
echo bcdiv('1.0', '3', 2);
十三、总结 #
本章学习了:
- 基本算术运算符:+、-、*、/、%、**
- 自增自减运算符:++、–
- 数学函数的使用
- 浮点数精度问题
- BCMath扩展
下一章将学习比较运算符。
最后更新:2026-03-26