回到笔记索引
算术运算符
-$a 取反
$a + $b 加法
$a - $b 减法
$a * $b 乘法
$a / $b 除法
$a % $b 取模
$a ** $b 求幂(PHP 5.6)
数组运算符
位运算符
比较运算符
不使用全(不)等时会存在自动转换:
-
null 或 string 与 string 比较:将 NULL 转换为 "",进行数字或词汇比较
-
bool 或 null 与 任何其它类型 比较:转换为 bool,FALSE < TRUE
-
object 与 object 比较:内置类可以定义自己的比较,不同类不能比较,相同类和数组同样方式比较属性(PHP 4 中),PHP 5 有其自己的说明
-
string,resource 或 number 与 string,resource 或 number 比较:将字符串和资源转换成数字,按普通数学比较
-
array 与 array 比较:具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组无法比较,否则挨个值比较(见下例)
-
object 与 任何其它类型 比较:object 总是更大
-
array 与 任何其它类型 比较:array 总是更大
三元运算符
表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3
表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3(PHP 5.3)
合并运算符
当 expr1 为 NULL,表达式 (expr1) ?? (expr2) 等同于 expr2,否则为 expr1。
错误控制运算符
PHP 支持一个错误控制运算符:@;当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
对新手来说一个简单的规则就是:如果能从某处得到值,就能在它前面加上 @ 运算符
执行运算符
PHP 支持一个执行运算符:反引号,PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回
自增减运算符
++$a 先增
$a++ 后增
--$a 前减
$a-- 后减
在处理字符变量的算数运算时例如,在 PHP 中 $a = 'Z'; $a++; 将把 $a 变成 'AA';字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)
逻辑运算符
-
$a and $b And(逻辑与)
-
$a or $b Or(逻辑或)
-
$a xor $b Xor(逻辑异或)
-
! $a Not(逻辑非)
-
$a && $b And(逻辑与)
-
$a || $b Or(逻辑或)
与、或有两种表达,优先级不同,and or 垫底
存在如下操作:
$a = b() or c()
如果 b() 返回 false 则 c() 才会执行
运算符
=、+=、-=、*= 等
-
位运算符
-
比较运算符
-
错误控制运算符
-
执行运算符
-
递增/递减运算符
-
逻辑运算符
-
字符串运算符
-
数组运算符
-
类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例
字符串运算符
. 连接运算符
.= 连接赋值运算符,与 += -= 类似
运算符优先级
https://www.php.net/manual/zh/language.operators.precedence.php