PHP 运算符
1. PHP 运算符
运算符(Operators)是用于对变量和值执行操作的特殊符号。
PHP 将运算符划分为以下几个主要组别:
- 算术运算符 (Arithmetic operators)
- 赋值运算符 (Assignment operators)
- 比较运算符 (Comparison operators)
- 递增/递减运算符 (Increment/Decrement operators)
- 逻辑运算符 (Logical operators)
- 字符串运算符 (String operators)
- 数组运算符 (Array operators)
- 条件运算符 (Conditional operators)
2. PHP 算术运算符
算术运算符通常与数值类型的数据一起使用,以执行常见的数学运算(例如加法、减法、乘法等)。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
+ | 加法 (Addition) | $x + $y | $x 和 $y 的和 |
- | 减法 (Subtraction) | $x - $y | $x 和 $y 的差 |
* | 乘法 (Multiplication) | $x * $y | $x 和 $y 的积 |
/ | 除法 (Division) | $x / $y | $x 和 $y 的商 |
% | 取模/求余 (Modulus) | $x % $y | $x 除以 $y 后的余数 |
** | 幂运算 (Exponentiation) | $x ** $y | $x 的 $y 次方 |
3. PHP 赋值运算符
赋值运算符通常与数值类型的数据一起使用,用于将特定的值赋给变量。
| 赋值方式 | 等同于... | 描述 |
|---|---|---|
$x = $y | $x = $y | 赋值(左操作数被设置为右侧表达式的值) |
$x += $y | $x = $x + $y | 加法赋值 |
$x -= $y | $x = $x - $y | 减法赋值 |
$x *= $y | $x = $x * $y | 乘法赋值 |
$x /= $y | $x = $x / $y | 除法赋值 |
$x %= $y | $x = $x % $y | 取模赋值 |
4. PHP 比较运算符
比较运算符用于比较两个值(数字或字符串),并返回一个布尔结果(true 或 false)。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
== | 等于 (Equal) | $x == $y | 如果 $x 的值等于 $y,则返回 true |
=== | 全等/完全相同 (Identical) | $x === $y | 如果 $x 的值等于 $y,并且它们的类型也相同,则返回 true |
!= | 不等于 (Not equal) | $x != $y | 如果 $x 的值不等于 $y,则返回 true |
<> | 不等于 (Not equal) | $x <> $y | 如果 $x 的值不等于 $y,则返回 true |
!== | 不全等/不完全相同 (Not identical) | $x !== $y | 如果 $x 的值不等于 $y,或者它们的类型不同,则返回 true |
> | 大于 (Greater than) | $x > $y | 如果 $x 大于 $y,则返回 true |
< | 小于 (Less than) | $x < $y | 如果 $x 小于 $y,则返回 true |
>= | 大于等于 (Greater than or equal to) | $x >= $y | 如果 $x 大于或等于 $y,则返回 true |
<= | 小于等于 (Less than or equal to) | $x <= $y | 如果 $x 小于或等于 $y,则返回 true |
<=> | 太空船运算符 (Spaceship) | $x <=> $y | 比较 $x 和 $y,如果 $x 小于、等于或大于 $y,则分别返回小于 0、等于 0 或大于 0 的整型值。(在 PHP 7 中引入) |
5. PHP 递增/递减运算符
递增/递减运算符用于将变量的值增加一或减少一。
| 运算符 | 等同于... | 描述 |
|---|---|---|
++$x | 前递增 (Pre-increment) | 先将 $x 加一,然后返回 $x 的新值 |
$x++ | 后递增 (Post-increment) | 先返回 $x 的当前值,然后再将 $x 加一 |
--$x | 前递减 (Pre-decrement) | 先将 $x 减一,然后返回 $x 的新值 |
$x-- | 后递减 (Post-decrement) | 先返回 $x 的当前值,然后再将 $x 减一 |
6. PHP 逻辑运算符
逻辑运算符用于组合条件语句,并返回一个布尔结果。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
and | 逻辑与 (And) | $x and $y | 如果 $x 和 $y 均为 true,则返回 true |
or | 逻辑或 (Or) | $x or $y | 如果 $x 或是 $y 其中之一为 true,则返回 true |
xor | 逻辑异或 (Xor) | $x xor $y | 如果 $x 或是 $y 为 true,但不能两者同时为 true,则返回 true |
&& | 逻辑与 (And) | $x && $y | 如果 $x 和 $y 均为 true,则返回 true |
| || | 逻辑或 (Or) | $x || $y | 如果 $x 或是 $y 其中之一为 true,则返回 true |
! | 逻辑非 (Not) | !$x | 如果 $x 不为 true(即 $x 为 false),则返回 true |
7. PHP 字符串运算符
字符串运算符专用于对文本字符串进行操作。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
. | 拼接 (Concatenation) | $txt1 . $txt2 | 将 $txt1 和 $txt2 拼接在一起 |
.= | 拼接赋值 (Concatenation assignment) | $txt1 .= $txt2 | 将 $txt2 追加到 $txt1 的末尾 |
8. PHP 数组运算符
数组运算符主要用于对两个数组进行比较或合并。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
+ | 联合 (Union) | $x + $y | $x 和 $y 的联合(将 $y 附加到 $x,同名键的元素会被忽略) |
== | 相等 (Equality) | $x == $y | 如果 $x 和 $y 包含完全相同的键/值对,则返回 true |
=== | 全等 (Identity) | $x === $y | 如果 $x 和 $y 包含完全相同的键/值对,且顺序相同,数据类型也相同,则返回 true |
!= | 不等 (Inequality) | $x != $y | 如果 $x 不等于 $y,则返回 true |
<> | 不等 (Inequality) | $x <> $y | 如果 $x 不等于 $y,则返回 true |
!== | 不全等 (Non-identity) | $x !== $y | 如果 $x 不完全等同于 $y,则返回 true |
9. PHP 条件运算符
条件运算符提供了一种设置值的简写方式,通常基于某些条件的评估(类似 if...else 语句的简写模式)。
| 运算符 | 名称 | 示例 | 结果 |
|---|---|---|---|
?: | 三元运算符 | $x = expr1 ? expr2 : expr3 | 返回 $x 的值。 如果 expr1 为 TRUE,则 $x 的值为 expr2。 如果 expr1 为 FALSE,则 $x 的值为 expr3。 |
?? | NULL 合并运算符 | $x = expr1 ?? expr2 | 返回 $x 的值。 如果 expr1 存在且不为 NULL,则 $x 的值为 expr1。 如果 expr1 不存在,或者其值为 NULL,则 $x 的值为 expr2。(在 PHP 7 中引入) |