什么是运算符?使用表达式 4 + 5等于9 可以给出简单答案.这里4和5被称为操作数,+被称为操作符. PHP语言支持以下类型的运算符.
算术运算符
比较运算符
逻辑(或关系)运算符
分配运算符
条件(或三元)运算符
让我们逐一查看所有运算符.
有以下PHP语言支持的算术运算符 :
假设变量A保持10,变量B保持20:
运算符 | 描述 | 示例 |
---|---|---|
+ | 添加两个操作数 | A + B将给出30 |
- | 减去第二个operan d从第一个 | A - B将给-10 |
* | 将两个操作数相乘 | A * B将给出200 |
/ | 用除分子除以分子 | B/A将给出2 |
% | 模数运算符及其后的余数整数除法 | B%A将给0 |
++ | 递增运算符,将整数值增加1 | A ++将给出11 |
- | 递减运算符,将整数值减1; | A--将给出9 |
有以下比较PHP语言支持的运算符
假设变量A保持10,变量B保持20:
运算符 | 描述 | 示例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果是,则条件变为真. | (A == B)不成立. |
!= | 检查两个操作数的值是否相等,如果值不相等则条件变为真. | (A! = B)是真的. |
> | 检查左操作数的值是否大于右操作数的值,如果是,则条件变为真. | (A> B)不是真的. |
< | 检查左操作数的值是否小于右操作数的值,如果是,则条件变为真. | (A< B)为真. |
> = | 检查左操作数的值是否大于或等于到右操作数的值,如果是,则条件变为真. | (A> = B)不成立. |
< = | 检查左操作数的值是否小于或等于右操作数的值,如果是,那么条件变为真. | (A< = B)为真. |
PHP语言支持以下逻辑运算符
假设变量A保持10,变量B保持20:
运算符 | 描述 | 示例 |
---|---|---|
和 | 调用Logical AND运算符.如果两个操作数均为真,则条件成立. | (A和B)为真. |
或 | 被称为逻辑OR运算符.如果两个操作数中的任何一个非零,则条件变为真. | (A或B)为真. |
&& | 被称为逻辑AND运算符.如果两个操作数都不为零,则条件成立. | (A&& B)为真. |
|| | 被称为逻辑OR运算符.如果两个操作数中的任何一个非零,则条件变为真. | (A || B)为真. |
! | 被称为逻辑非运算符.用于反转其操作数的逻辑状态.如果条件为真,那么Logical NOT运算符将为false. | !(A&& B)为假. |
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 |
有一个更多运算符称为条件运算符这首先计算true或false值的表达式,然后根据评估结果执行两个给定语句中的一个.条件运算符具有以下语法 :
运算符 | 描述 | 示例 |
---|---|---|
? : | 条件表达式 | 如果条件为真?然后是值X:否则值Y |
所有运算符我们上面讨论过的可以归类为以下类别 :
一元前缀运算符,它位于单个操作数之前.
二元运算符,它接受两个操作数并执行各种算术和逻辑运算.
条件运算符(三元运算符),它接受三个操作数并根据第一个表达式的求值来计算第二个或第三个表达式.
赋值运算符,它为变量赋值.
运算符precedence确定表达式中术语的分组.这会影响表达式的计算方式.某些运营商的优先级高于其他运营商;例如,乘法运算符的优先级高于加法运算符 :
例如x = 7 + 3 * 2;这里x被赋值为13,而不是20,因为operator *的优先级高于+,所以它首先乘以3 * 2然后加到7中.
这里优先级最高的运算符出现在在表格的顶部,最低的那些出现在底部.在表达式中,将首先评估更高优先级的运算符.
类别 | 运算符 | 关联性 |
---|---|---|
Unary | ! ++ - | 从右到左 |
Multiplicative | */% | 从左到右 |
Additive | + - | 从左到右 |
Relational | < < => > = | 从左到右 |
Equality | ==!= | 从左到右 |
逻辑AND | && | 从左到右 |
逻辑OR | || | 从左到右 |
条件 | ?: | 从右到左 |
Assignment | = + = - = * =/=%= | 对离开 |