PHP 操作符
PHP 操作符是对一个或多个对象进行操作的符号。
PHP 的操作符借鉴很 多 Perl 和 C。
操作符全表(官方参考)
结合方向 | 运算符 | 附加信息 |
---|---|---|
不适用 | clone new | clone 和 new |
右 | ** | 算术运算符 |
不适用 | + - ++ -- ~ (int) (float) (string) (array) (object) (bool) @ | 算术 (一元 + 和 - ), 递增/递减, 按位, 类型转换 和 错误控制 |
左 | instanceof | 类型 |
不适用 | ! | 逻辑运算符 |
左 | * / % | 算术运算符 |
左 | + - . | 算数 (二元 + 和 - ), array 和 string (. PHP 8.0.0 前可用) |
左 | << >> | 位运算符 |
左 | . | string (PHP 8.0.0 起可用) |
无 | < <= > >= | 比较运算符 |
无 | == != === !== <> <=> | 比较运算符 |
左 | & | 位运算符 和 引用 |
左 | ^ | 位运算符 |
左 | ` | ` |
左 | && | 逻辑运算符 |
左 | ` | |
右 | ?? | null 合并运算符 |
无关联 | ? : | 三元运算符 (PHP 8.0.0 之前左联) |
右 | = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | 赋值运算符 |
不适用 | yield from | yield from |
不适用 | yield | yield |
不适用 | print | |
左 | and | 逻辑运算符 |
左 | xor | 逻辑运算符 |
左 | or | 逻辑运算符 |
几个特殊的操作符
操作符 | 操作 |
---|---|
new | 创建新对象 |
clone | 创建新对象 |
@ | 错误屏蔽 |
instanceof | 类型测试 |
yield from | yield from |
yield | yield |
操作符的优先级
操作符在表达式中的计算顺序取决于相对优先级。
作为一个多语言程序员,在不熟悉新语言又没时间详细了解时,可以采用加括号法,这样只需要记忆一个知识点,先乘除,后加减,其余加括号。
操作符的结合性
两个同 等优先级的操作符,看左结合和还是右结合,左结合即由左向右计算。
隐式转化
这是一个争议特性。
我们的习惯是,能显式转化时,尽量显式转化,这样可以避免“埋雷”。
举个例子来说 1 . 3.14
,看起来像是写错的数,但最后这个表达式从数变成了字符串 "13.14"