离线下载
PDF版 ePub版

极客学院团队出品 · 更新于 2018-11-28 11:00:43

运算符类型

运算符是什么?简单的答案可以使用表达式 4 + 5 等于 9。这里 4 和 5 被称为操作数和 + 号叫做运算符。

PHP 语言支持以下类型的运算符。.

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

让我们接下来一个个的看运算符的操作。

算术运算符

PHP 语言支持有以下算术运算符:

假设变量 A 赋值 10 和变量 B 赋值 20:

显示以下例子

运算符 说明 例子
+ 变量 A 和变量 B 相加 A + B 等于 30
- 变量 A 和变量 B 相减 A - B等于-10
* 变量 A 和变量 B 相乘 A * B等于 200
/ 变量 A 和变量 B 相除 B / A等于2
% 变量 A 和变量 B 取余数 B % A等于0
++ 变量A++ A++等于11
-- 变量A-- A--等于9

比较运算符

有以下比较运算符支持 PHP 语言:假设变量 A 赋值 10 和变量 B 赋值 20:

显示以下例子

运算符 说明 例子
== 检查两个操作数的值是否相等,如果相等,那么条件变为真。 (A == B) 是不为真的.
!= 检查两个操作数的值是否相等,如果值不相等,那么条件变为真。 (A != B) 为真.
> 检查左操作数的值是否大于右操作数的值,如果是的,那么条件变为真。 (A > B) 为假.
< 检查左操作数的值小于右操作数的值,如果是的,那么条件变为真。 (A
>= 检查左操作数的值是否大于或等于右操作数的值,如果是的,那么条件变为真。 (A >= B) 为假.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是的,那么条件变为真。 (A

逻辑运算符:

有以下逻辑运算符支持 PHP 语言:假设变量 A 赋值 10 和变量 B 赋值 20:

显示以下例子

运算符 说明 例子
and 称为逻辑与操作。如果两个操作数都是真的,那么条件变成真。 (A and B) 为真.
or 称为逻辑或运算符。如果两个操作数的任何一个非零,那么情况就变为真。 (A or B) 为真.
&& 称为逻辑与操作。如果两个操作数都非零然后条件变成真。 (A && B) 为真.
|| 称为逻辑或运算符。如果两个操作数的都不为零,那么情况就变为真。 (A || B) 为真。
! 称为逻辑非。使用反转逻辑状态的操作数。如果是真的,那么一个条件逻辑操作符将是假的。 !(A && B) 为假.

赋值运算符

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

显示以下例子

运算符 说明 例子
= 简单的赋值运算符,将来自右操作数的值赋给左边的操作数 C = A + B 将赋值给C赋值 A + B
+= 添加和赋值运算符,它将右操作数与左操作数的求和结果分配给左操作数 C += A 等于 C = C + A
-= 减去和赋值运算符,右操作数减去左操作数,并将结果分配给左操作数 C -= A 等于 C = C - A
*= 相乘和赋值运算符,它可以使右操作数乘以左操作数,并将结果分配给左操作数 C *= A 等于 C = C * A
/= 相除和赋值运算符,将左操作数除以右操作数,并将结果分配给左操作数 C /= A 等于 C = C / A
%= 取模和赋值运算符, 将左操作数除以右操作数的余数分配到左操作数的结果 C %= A 等于 C = C % A

条件运算符

还有一个运算符称为条件运算符。这第一次评估一个表达式为真或假值,然后根据评价的结果执行两个给定的语句。条件运算符有这种语法:

显示以下例子

运算符 说明 例子
? : 条件表达式 条件为真则返回?号后面的值否则返回:号后面的值

运算符分类

我们上文已经讨论过的所有运算符可分为以下类别:

  • 一元前缀运算符,优先操作一个操作数。
  • 二元运算符,这两个操作数,执行各种算术和逻辑操作。
  • 条件操作符(三元操作符),将三个操作数,计算第二个或第三个表达式,根据评估的第一个表达式。
  • 赋值操作符,将值分配给一个变量。

运算符优先级

运算符优先级确定条件表达式的分组。这会影响如何评估一个表达式。某些运算符比其他运算符有更高的优先级,例如,乘法运算符的优先级高于加法运算符:

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

在这里运算符优先级最高的出现在表的顶部,底部是出现优先级最低的。在一个表达式,更高的优先级运算符将被评估。

运算符类别   运算符  关联性 
Unary  ! ++ --  从右往左  
Multiplicative   * / %  从左向右 
Additive   + -  从左向右 
Relational   < <= > >=  从左向右 
Equality   == !=  从左向右 
Logical AND  &&  从左向右 
Logical OR  ||  从左向右 
Conditional  ?:  从右往左  
Assignment  = += -= *= /= %= 从右往左  
上一篇: 常量 下一篇: 结构控制