php中的运算符优先级

本文详细介绍了PHP中运算符的优先级及结合方向,并通过一个意外行为的示例展示了逻辑运算符and、xor、or的特殊性及其优先级。此外,文章还解释了相同优先级运算符的使用限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php中的运算符优先级

结合方向运算符备注
---clone new 
[数组下标
右->**乘方
右->++ -- ~ (int) (float) (string) (array) (object) (bool) @类型和递增/递减
---instanceof类型
右->!逻辑非
* / %算术运算符
+ - .算术运算符和字符串运算符
<< >>有符号左移和右移
---< <= > >=大小比较
---== != === !== <> <=>相等比较
&位运算符和引用
^位运算符
|位运算符
&&逻辑运算符
||逻辑运算符
??比较运算符
? :条件运算符
右->= += -= *= **= /= .= %= &= |= ^= <<= >>=赋值运算符
and逻辑运算符
xor逻辑运算符
or逻辑运算符


php中的逻辑运算符相比于C语言增加了and/xor/or,而且这些运算符的优先级最低,比赋值运算符还低。如果不考虑这些运算符,则赋值运算符的优先级最低,其次是三元条件运算符。

没有结合的相同优先级的运算符不能连在一起使用,例如 1 < 2 > 1 在PHP是不合法的。


注意,下面的例子可能会有点出乎意料

function getbool(){
  return false;
}

$a = 3;
if(!$a = getbool())
  echo "true\n";    // true
else
  echo "false\n";
var_dump($a);       // bool(false)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值