PHP - 运算符类型


什么是运营商?可以使用表达式4 + 5 等于 9给出简单的答案。这里4和5称为操作数,+称为运算符。PHP 语言支持以下类型的运算符。

  • 算术运算符
  • 比较运算符
  • 逻辑(或关系)运算符
  • 赋值运算符
  • 条件(或三元)运算符

让我们一一看看所有的运营商。

算术运算符

PHP 语言支持以下算术运算符 -

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

操作员 描述 例子
+ 添加两个操作数 A + B 将为 30
- 从第一个操作数中减去第二个操作数 A - B 将给出 -10
* 将两个操作数相乘 A * B 将给出 200
/ 分子除以分子 B/A 将给出 2
% 模数运算符和整数除法后的余数 B % A 将给出 0
++ 自增运算符,将整数值加一 A++ 会给出 11
-- 自减运算符,将整数值减一 A-- 会给 9

比较运算符

PHP语言支持以下比较运算符

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

操作员 描述 例子
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不正确。
!= 检查两个操作数的值是否相等,如果值不相等则条件成立。 (A != B) 为真。
> 检查左操作数的值是否大于右操作数的值,如果是,则条件为真。 (A > B) 不正确。
< 检查左操作数的值是否小于右操作数的值,如果是,则条件为真。 (A < B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真。 (A >= B) 不正确。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真。 (A <= B) 为真。

逻辑运算符

PHP语言支持以下逻辑运算符

假设变量 A 为 10,变量 B 为 20,则 -

显示示例

操作员 描述 例子
称为逻辑与运算符。如果两个操作数都为 true,则条件为 true。 (A 和 B)是正确的。
或者 称为逻辑或运算符。如果两个操作数中的任何一个不为零,则条件为真。 (A 或 B)为真。
&& 称为逻辑与运算符。如果两个操作数都不为零,则条件为真。 (A && B) 是正确的。
|| 称为逻辑或运算符。如果两个操作数中的任何一个不为零,则条件为真。 (A || B) 为真。
称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑 NOT 运算符将为假。 !(A && B) 为假。

赋值运算符

PHP 语言支持以下赋值运算符 -

显示示例

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

条件运算符

还有一种运算符称为条件运算符。首先评估表达式的真值或假值,然后根据评估结果执行两个给定语句之一。条件运算符具有以下语法 -

显示示例

操作员 描述 例子
?: 条件表达式 如果条件为真?然后值 X :否则值 Y

运营商类别

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

  • 一元前缀运算符,位于单个操作数之前。

  • 二元运算符,采用两个操作数并执行各种算术和逻辑运算。

  • 条件运算符(三元运算符),它采用三个操作数并计算第二个或第三个表达式,具体取决于第一个表达式的计算结果。

  • 赋值运算符,将值赋给变量。

PHP 运算符的优先级

运算符优先级决定表达式中术语的分组。这会影响表达式的计算方式。某些运算符的优先级高于其他运算符;例如,乘法运算符的优先级高于加法运算符 -

例如x = 7 + 3 * 2;这里 x 被分配为 13,而不是 20,因为运算符 * 的优先级高于 +,所以它首先乘以 3*2,然后添加到 7。

这里优先级最高的运算符出现在表的顶部,优先级最低的运算符出现在底部。在表达式中,将首先计算优先级较高的运算符。

类别 操作员 关联性
一元 !++ -- 右到左
乘法 * / % 左到右
添加剂 + - 左到右
关系型 <<=>>= 左到右
平等 ==!= 左到右
逻辑与 && 左到右
逻辑或 || 左到右
有条件的 ?: 右到左
任务 = += -= *= /= %= 右到左