位置:首页 > > PHP运算符类型

PHP运算符类型

什么是运算符? 简单来说就是可以使用表达式4 + 5 = 9。此处4和5被称为操作数,而+被称为运算符。 PHP语言支持以下类型的运算符。

  • 算术运算符

  • 比较运算符

  • 逻辑(或关系)运算符

  • 赋值运算符

  • 条件(或三元)运算符

接下来我们对所有的运算符一个一个地来看看.

算术运算符:

有下列由PHP语言支持的算术运算符:

假设变量A=10,变量B=20则:

算术运算符示例

Operator 描述 例子
+ 两个操作数加法 A + B = 30
- 从第一操作数中减去第二个操作数 A - B = -10
* 两个操作数相乘 A * B = 200
/ 分母除以分子 B / A = 2
% 模运算符和余整除法 B % A = 0
++ 递增运算符,整数值加一 A++ = 11
-- 自减运算符,整数值减少一 A-- = 9

比较运算符:

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

假设变量A=10和变量B=20则:

比较运算符实例

运算符 描述 例子
== 检查两个操作数的值相等与否,如果相等则条件为true. (A == B) 不为 true.
!= 如果检查两个操作数的值相等与否,如果值不相等,则条件为true. (A != B) 为 true.
> 如果检查左操作数的值大于右操作数的值,如果是则条件为true. (A > B) 不为 true.
< 如果检查左操作数的值小于右操作数的值,如果是则条件为true. (A < B) 为 true.
>= 如果检查左操作数的值大于或等于右操作数的值,如果是则条件为true. (A >= B) 不为 true.
<= 如果检查左操作数的值小于或等于右操作数的值,如果是则条件为true. (A <= B) 为 true.

逻辑运算符:

下列是PHP语言支持的逻辑运算符

假设变量A=10,变量B=20,则:

逻辑运算实例

运算符 描述 例子
and 所谓逻辑AND运算符:如果两个操作数是true,那么则条件为true. (A and B) 为 true.
or 所谓的逻辑或运算符是:如果任何两个操作数都是非零那么条件为true. (A or B) 为 true.
&& 所谓的逻辑AND运算符:如果两个操作数都是非零那么条件为true. (A && B) 为 true.
|| 所谓的逻辑或运算符: 如果任何两个操作数都是非零那么条件为true. (A || B) 为 true.
! 所谓的逻辑非运算符:使用反转其操作数的逻辑状态。如果条件为true,则逻辑NOT运算符为false. !(A && B) 为 false.

赋值运算符:

下列是PHP语言支持赋值操作符:

赋值运算符示例

运算符 描述 例子
= 简单赋值运算符,分配从右侧操作数的值给左侧操作数 C = A + B 将指定的值 A + B 给 C
+= 加和赋值操作符,它增加了右操作数为左操作数和结果分配给左操作数 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

条件运算符

还有一个运算符称为条件运算符。表达式首先计算为true或false值,然后执行取决于计算结果的两个给定的语句之一。条件运算符有这样的语法:

条件运算示例

运算符 描述 例子
? : 条件表达式 如果条件为真?然后值X:否则值Y

运算符分类:

所有在前面所讨论的运算符可分为以下几类:

  • 一元前缀运算符,它前面一个操作数。

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

  • 条件运算符(三元运算符),这需要三个操作数,并计算第二个或者第三个表达式,根据第一个表达式的计算。

  • 赋值运算符,它的值赋给一个变量。

PHP运算符的优先级:

运算符优先级决定的条款在表达式中的分组。这会影响一个表达式如何计算。某些运算符的优先级高于其它,例如,乘法运算符的优先级比加法运算较高者:

例如,X=7+3*2;这里x被赋值13,不是20,因为运算符*的优先级比+所以它首先得到乘以3*2优先级高,然后加7。

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

分类  运算符  关联 
Unary  ! ++ --  Right to left 
Multiplicative   * / %  Left to right 
Additive   + -  Left to right 
Relational   < <= > >=  Left to right 
Equality   == !=  Left to right 
Logical AND  &&  Left to right 
Logical OR  ||  Left to right 
Conditional  ?:  Right to left 
Assignment  = += -= *= /= %= Right to left