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 |
, |
从左到右 |