PHP - 运算符类型



PHP 运算符是什么?

与任何编程语言一样,PHP 也有一些运算符,这些运算符是预定义的符号(有时是关键字),用于对一个或多个操作数执行某些常见的操作。

例如,使用表达式 “4 + 5” 等于 9。这里 “4” 和 “5” 称为操作数,“+” 称为运算符

我们在 PHP 中有以下类型的运算符 -

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符
  • 字符串运算符
  • 数组运算符
  • 条件运算符(或三元运算符)

本章将概述如何在 PHP 中使用这些运算符。在后续章节中,我们将仔细研究每个运算符及其工作原理。

PHP 算术运算符

我们使用算术运算符对给定的操作数执行数学运算,如加法、减法、乘法、除法等。算术运算符(不包括递增和递减运算符)始终适用于两个操作数,但这些操作数的类型应相同。

下表突出显示了 PHP 支持的算术运算符。假设变量 “$a” 包含 42 个,变量 “$b” 包含 20 个 −

算子 描述 示例
+ 添加两个操作数 $a + $b = 62
- 从第一个操作数中减去第二个操作数 $a - $b = 22
* 将两个操作数相乘 $a * $b = 840
/ 分子除以反分子 $a / $b = 2.1
% 模运算符和整数除法后的余数 $a % $b = 2
++ 递增运算符,将整数值增加 1 $a ++ = 43
-- 递减运算符,将整数值减少 1 $a -- = 42

PHP 比较运算符

您将使用比较运算符来比较两个操作数并找到它们之间的关系。它们根据比较结果返回布尔值(true 或 false)。

下表突出显示了 PHP 支持的比较运算符。假设变量 $a 保存 10,变量 $b 保存 20,则 −

算子 描述 示例
== 检查两个操作数的值是否相等,如果是,则 条件 变为 true。 ($a == $b) is not true
!= 检查两个操作数的值是否相等,如果值不相等,则 条件 变为 true。 ($a != $b) is true
> 检查 左边操作数 的值是否大于 右边操作数 的值,如果是,则 条件 变为 true。 ($a > $b) is false
< 检查 左边操作数的值是否小于 右边操作数的值,如果是,则 条件 变为 true。 ($a < $b) is true
>= 检查 左边操作数 的值是否大于或等于 右边操作数 的值,如果是,则 条件 变为 true。 ($a >= $b) is false
<= 检查 左边操作数 的值是否小于或等于 右边操作数 的值,如果是,则 条件 变为 true。 ($a <= $b) is true

PHP 逻辑运算符

您可以在 PHP 使用逻辑运算符对多个表达式一起执行逻辑操作。逻辑运算符始终返回布尔值 true或 false。

逻辑运算符通常与条件语句和循环一起使用,以根据布尔条件返回决策。您还可以将它们组合起来,在处理复杂表达式时操作布尔值。

下表突出显示了 PHP 支持的逻辑运算符。

假设变量 $a 保存 10,变量 $b 保存 20,则 −

算子 描述 示例
and 逻辑 AND 运算符。如果两个操作数都为 true,则 条件 变为 true。 (A and B) is true
or 逻辑 OR 运算符。如果两个操作数中的任何一个不为零,则 条件 变为 true。 (A or B) is true
&& 逻辑 AND 运算符。如果两个操作数都为非零,则 条件 变为 true。 (A && B) is true
|| 逻辑 OR 运算符。如果两个操作数中的任何一个不为零,则 条件 变为 true。 (A || B) is true
! 逻辑 NOT 运算符。用于反转其操作数的逻辑状态。如果条件为 true,则 逻辑 NOT 运算符将为 false。 !(A && B) is false

PHP 赋值运算符

您可以在 PHP 中使用赋值运算符为给定变量的值赋值或更新新值。赋值运算符的右侧保存值,赋值运算符的左侧是将值分配到的变量。

双方的数据类型应相同,否则会出现错误。赋值运算符的结合性是从右到左。PHP 支持两种类型的赋值运算符 -

  • 简单赋值运算符 − 它是最常用的运算符。它用于为变量或常量赋值。
  • 复合赋值运算符 − 赋值运算符 (=) 与其他运算符(如 +、*、/ 等)的组合。

下表突出显示了 PHP 支持的赋值运算符 -

算子 描述 示例
= 简单赋值运算符,将右侧操作数中的值分配给左侧操作数 C = A + B 会将 A + B 的值分配给 C
+= 添加 AND 赋值运算符,将右操作数添加到左操作数,并将结果分配给左操作数 C += A 等同于 C = C + A
-= 减去 AND 赋值运算符,它从左操作数中减去右操作数并将结果分配给左操作数 C -= A 等同于 C = C - A
*= 乘以 AND 赋值运算符,它将右操作数与左操作数相乘,并将结果分配给左操作数 C *= A 等同于 C = C * A
/= 除以 AND 赋值运算符,它将左操作数与右操作数相除,并将结果分配给左操作数 C /= A 相当于 C = C / A
%= 模 AND 赋值运算符,它使用两个操作数取模并将结果分配给左操作数 C %= A 相当于 C = C % A

PHP 字符串运算符

PHP 中有两个运算符用于处理字符串数据类型 -

  • “.”(点) 运算符是 PHP 的串联运算符。它联接两个字符串操作数(右手字符串的字符附加到左手字符串)并返回一个新字符串。
  • PHP 也有 “.=” 运算符,它可以称为串联赋值运算符。它通过附加右侧操作数的字符来更新左侧的字符串。

$third = $first . $second;
$leftstring .= $rightstring;

PHP 数组运算符

PHP 定义了以下一组符号,用作数组数据类型的运算符 -

算子 示例 名字 结果
+ $a + $b Union $a 和 $b 的联合。
== $a == $b Equality 如果 $a 和 $b具有相同的键/值对,则为 TRUE。
=== $a === $b Identity 如果 $a 和 $b 具有相同的键/值对、相同的顺序和相同的类型,则为 TRUE。
!= $a != $b Inequality 如果 $a 不等于 $b,则为 TRUE。
<> $a <> $b Inequality 如果 $a 不等于 $b,则为 TRUE。
!== $a !== $b Non identity 如果 $a 与 $b 不相同,则为 TRUE。

PHP 条件运算符

PHP 中还有一个运算符,称为条件运算符。它也被称为三元运算符。它首先评估表达式的 true 或 false 值,然后根据评估结果执行两个给定语句之一。

算子 描述 Example
? : 条件表达式 如果 条件 为 true ?则值 X : 否则值 Y

PHP 运算符类别

我们上面讨论的所有运算符都可以分为以下几类 -

  • 一元前缀运算符,位于单个操作数之前。
  • 二元运算符,采用两个操作数并执行各种算术和逻辑运算。
  • 条件运算符(三元运算符),它采用三个操作数,并根据第一个表达式的计算结果计算第二个或第三个表达式。
  • 赋值运算符,用于为变量赋值。

PHP 运算符优先级

运算符的优先级决定了运算符在表达式中的执行顺序。例如,在 “2+6/3” 中,首先完成 6/3 的除法,然后进行 “2+2” 的加法,因为除法运算符 “/” 的优先级高于加法运算符 “+”。

要强制在调用其他运算符之前调用某个运算符,应使用括号。在此示例中,(2+6)/3 首先执行加法,然后执行除法。

某些运算符可能具有相同的优先级。在这种情况下,结合顺序(左或右)决定运算的顺序。优先级相同但非关联的运算符不能彼此相邻使用。

下表按优先级降序列出了 PHP 运算符 -

运算符 意义
clone new clone 和 new
** 幂运算
++ -- 增量/减量
~(int) (float) (string) (array) (object) (bool) 铸造
instanceof 类型
! 逻辑
* / 乘法/除法
%
+ - . 算术和字符串
<< >> 按位移位
< <= > >= 比较
== != === !== <> <=> 比较
& 按位和/引用
^ 按位 XOR
| 按位 OR
&& 逻辑 and
|| 逻辑 or
?? null 合并
? : 三重的
= += -= *= **= /= .= %= &= |= ^= <<= >>= ??= 赋值运算符
yield from yield from
yield yield
print 打印
and 逻辑
xor 逻辑
or 逻辑