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