PHP的运算符号

  1. 运算元 运算符 运算元
  2. 1 + 1
  3. 一元运算符:+1 -1 ++ --
  4. 二元运算符:+ - * / % > < = == ===
  5. 三元运算符: 12:3
  6. 算术运算符:+ - * / % ++ --
  7. 赋值运算符:= += -= *= /= %=
  8. 比较运算符:> < == >= <= === != !==
  9. 逻辑运算符:&& ||
  10. 位运算符: & | ^ ~ >> <<
  11. 其他运算符:?: @ -> =>

算术运算符

++ --
$a++ :先用再加
++$a :先加再用
1.布尔型不参与++运算
2.对于字符串的++就是字符串升序
   a++:b
   b++:c

逻辑运算符

运算符 描述 说明
and/&& 逻辑与 当两边操作数都为true时,返回true,否则返回false
or/| | 逻辑或 当两边操作都为false时,返回false,否则返回true
not/! 逻辑非 当操作为true时返回false,否则返回true
xor 逻辑异或 当两边操作数只有一个为true时,返回true,否则返回false

位运算符

1.位,按位运算

运算符 描述 说明
& 按位与 只有参与运算的两位都为1时,运算结果才为1,否则为0
| 按位或 只有参与运算的两位都为0时,运算结果才为0,否则为1
^ 按位异或 只有参与运算的两位不同,运算结果才为1,否则为0
~ 按位非 将二进制表示的操作数中的1变成0,0变成1
<< 左移 将左边的操作数在内存中的二进制数据左移右边操作数指定的位数,右边移空的部分补上0
>> 右移 将左边的操作数在内存中的二进制数据右移右边操作数指定的位数,左边移空的部分补上0
计算例子:
12 & 13
12=8+4
13=8+4+1

00000000 00000000 00000000 00001100
00000000 00000000 00000000 00001101 &
--------------------------
00000000 00000000 00000000 00001100
结果:12

&:经常充当 逻辑与 用,不会短路,让两边都执行
|:经常充当 逻辑或 用,不会短路,让两边都执行
<<:左移一位就是乘2,
>>:右移一位就是除2,

其他运算符

运算符 描述 示例
?: 三元运算符,可以提供简单的逻辑判断
`` 反引号 是执行运算符,php将尝试将反引号中的内容作为外壳命令来执行,并将其输入信息返回 $a=ls -al
@ 错误控制运算符,当将其放置在一个php表达式之前,该表达式可能产生的任何错误信息都将被忽略掉
=> 数组下标指定符号,通过此符号指定数组的键与值
-> 对象成员访问符号,访问对象中的成员属性或成员方法
instanceof 类型运算符,用来测定一个给定的对象是否来自指定的对象类

运算符的优先级和表达式

表达式

  1. 表达式是PHP的最重要的基石。在PHP中,几乎所写的任何东西都是一个表达式
  2. 简单但却最精确的定义一个表达式的方式就是“任何有值的东西”
  3. 最基本的表达式形式就是常量和变量。比如 $a=5
  4. 稍微复杂的表达式例子就是函数
  5. 其他还有运算符于操作数构成的也成表达式。如:比较表达式 $a&gt;5,$a==5

运算符优先级

结合方向 运算符 附加信息
非结合 new new
[] array()
非结合 ++ — 递增、递减运算符
非结合 ! ~ - (int) (float) (string) (array) (object) @ 类型
* / % 算数运算符
+ - . 算数运算符和字符串运算符
<< >> 位运算符
非结合 < <= > >= 比较运算符
非结合 == != === !== 比较运算符
& 位运算符和引用
^ 位运算符
&& 逻辑运算符
? : 三元运算符
= += -= *= /= .= %= &= = ^= <<= >>=
and 逻辑运算符
xor 逻辑运算符
or 逻辑运算符和引用
, 多处用到