PHP 简明教程

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 比较运算符

比较运算符用于比较两个值(数字或字符串),并返回一个布尔结果(truefalse)。

运算符名称示例结果
==等于 (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 中引入)