PHP中的运算符
1、算数运算符
运算符 | 意义 | 实例 | 结果 |
---|
+ | 加法运算 | $a + $b | $a和$b的和 |
- | 减法运算 | $a - $b | $a和$b的差 |
* | 乘法运算 | $a * $b | $a和$b的积 |
/ | 除法运算 | $a / $b | $a和$b的商 |
% | 求模运算 | $a % $b | $a和$b的余数 |
++ | 累加1 | $a++ 或 ++$a | $a的值加1 |
– | 递减1 | $a– 或 –$a | $a的值减1 |
2、字符串运算符
在PHP中字符串运算符只有一个,是英文的句号(“.”),也称为连接运算符,它是一个二元运算符,返回其左右参数链接后的字符串。这个运算符不仅可以将两个字符串连接起来,变成合并的新字符串,也可以将一个字符串和任何标量数据类型相连接,合并成的都是新的字符串。
3、赋值运算符
赋值运算符是一个二元运算符,它左边的操作数必须是变量,右边可以是一个表达式。它是把其右边表达式的值赋予给左边变量,或者说是将原有表达式的值复制到新变量中。
运算符 | 意义 | 实例 |
---|
= | 将一个值或表达式的结果赋给变量 | $x = 3; |
+= | 将变量与所赋的值相加后的结果在赋给该变量 | $a+=3 等价于 $a = $a + 3; |
-= | 将变量与所赋的值相减后的结果再赋给该变量 | $a-=3 等价于 $a = $a - 3; |
*= | 将变量与所赋的值相乘后的结果在赋给该变量 | $a*=3 等价于 $a = $a * 3; |
/= | 将变量与所赋的值相除后的结果再赋给该变量 | $a/=3 等价于 $a = $a / 3; |
%= | 将变量与所赋的值相求模后的结果在赋给该变量 | $a%=3 等价于 $a = $a % 3; |
.= | 将变量与所赋的值相减连的结果再赋给该变量 | $a.=“3” 等价于 $a = $a . “3”; |
4、比较运算符
运算符 | 描述 | 说明 | 示例 |
---|
> | 大于 | 当左边操作数大于右边操作数时返回TRUE,否则返回FALSE | $a>$b |
< | 小于 | 当左边操作数小于右边操作数时返回TRUE,否则返回FALSE | $a<$b |
>= | 大于等于 | 当左边操作数大于等于右边操作数时返回TRUE,否则返回FALSE | $a>=$b |
<= | 小于等于 | 当左边操作数小于等于右边操作数时返回TRUE,否则返回FALSE | $a<=$b |
== | 等于 | 当左边操作数等于右边操作数时返回TRUE,否则返回FALSE | $a==$b |
=== | 全等于 | 当左边操作数等于右边操作数并且类型也相同时返回TRUE,否则返回FALSE | $a===$b |
!= 或 <> | 不相等 | 当左边操作数不等于右边操作数时返回TRUE,否则返回FALSE | $a<>$b $a!=$b |
!== | 非全等于 | 当左边操作数不等于右边操作数或者他们类型不形同时返回TRUE,否则返回FALSE | $a!==$b |
5、逻辑运算符
运算符 | 描述 | 说明 | 示例 |
---|
and 或 && | 逻辑与 | 当左右两边的操作数都为TRUE时返回TRUE,否则返回FALSE | $a and $b $a&&$b |
or或|| | 逻辑或 | 当左右两边操作数都为FALSE时返回FALSE,否则返回TRUE | $a or $b $a||$b |
not 或 ! | 逻辑非 | 当操作数为TRUE时返回FALSE,否则返回TRUE | not $a !$a |
xor | 逻辑异或 | 当左右两边操作数只有一个为TRUE时返回TRUE,否则返回FALSE | $a xor $b |
6、位运算
运算符 | 描述 | 说明 | 示例 |
---|
& | 按位与 | 只有参加运算的两位都为1,运算的结果才为1,否则为0 | $a&$b |
| | 按位或 | 只有参加运算的两位都为0,运算的结果才为0,否则为1 | $a|$b |
^ | 按位异或 | 只有参加运算的两位不同,运算结果才为1,否则为0 | $a^$b |
~ | 按位非 | 将用二进制表示的操作数中的1变成0,0变成1 | ~$a |
<< | 左移 | 将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,右边移空的部分补上0 | $a<<$b |
>> | 右移 | 将左边的操作数在内存中的二进制数据右移右边操作数指定的位数,左边移空的部分补上0 | $a>>$b |
7、其他运算符
运算符 | 描述 |
---|
?: | 三元运算符,可以提供简单的逻辑判断 |
” | 反引号是执行运算符,PHP将尝试将反引号中的内容作为外壳命令来执行,并将其输出信息返回 |
@ | 错误控制运算符,当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉 |
=> | 数组下标指定符号,通过此符号指定数组的键与值 |
-> | 对象成员访问符号,访问对象中的成员属性或成员方法 |
instanceof | 类型运算符,用来测定一个给定的对象是否来自丁丁的对象类 |
8、运算符的优先级
级别(从高到低) | 运算符 | 结合方向 |
---|
1 | New | 非结合 |
2 | [ | 从左到右 |
3 | ++ – | 非结合 |
4 | !~-(int)(float)(string)(array)(object)@ | 非结合 |
5 | */% | 从左到右 |
6 | + - | 从左到右 |
7 | << >> | 从左到右 |
8 | < <= > >= | 非结合 |
9 | == != === !== | 非结合 |
10 | & | 从左到右 |
11 | ^ | 从左到右 |
12 | | | 从左到右 |
13 | && | 从左到右 |
14 | || | 从左到右 |
15 | ?: | 从左到右 |
16 | = += -= *= /+ .= %= &= |= ^= <<= >>= | 从左到右 |
17 | and | 从左到右 |
18 | Xor | 从左到右 |
19 | or | 从左到右 |
20 | , | 从左到右 |