php位运算符”|”和逻辑运算符”||”
admin
2023-06-21 08:22:16
0

$a=0;

$b=0;

if($a=3||$b=3){

$a++;

$b++;

}

echo $a.",".$b;

?>

输出结果是(1,1)


$a=0;

$b=0;

if($a=3|$b=3){

$a++;

$b++;

}

echo $a.",".$b;

?>

输出结果是(4,4)


第一个例子中,同样可以看做是”$a = (3 || $b = 3)”,首先3||$b=3返回true,”||”造成短路,”||”前的3已经为真,”$b=3″不再执行,所以此时$b仍为0,$a为布尔类型的 true,,赋值成功,返回true,执行if代码块中的内容,$a++还为true,$b++为1,所以,$a=1,$b=1。


,第二个例子中,”$a=3 | $b=3″,由于”|”的优先级高于赋值运算符,所以运算顺序可写为 “$a=(3 | $b=3)”,首先$b被赋值为3,而$a被二进制数0100 | 0100 的结果赋值,仍为0100,所以$a此时被赋值为0100,也就是十进制的3,赋值成功,返回true,执行if代码块中的内容,$a自加,$b也自加, 所以,$a=4,$b=4。


= 是赋值语句 所以($a=3)永远为真,因为值为3||逻辑或运算,它有短路效应,例如($a=3||$b=3)  ,||前面为真,后面的不执行,$b还是1。

相关内容

热门资讯

双汇致歉 【大河财立方消息】 5月28日,双汇发布致歉声明称,近日,黑龙江省市场监督管理局公示望奎双汇北大荒食...
为了更多生命的春天——河南和塞... 如果说,豫塞两地的临床防治需求是跨国医学合作的前提,那么共建“一带一路”倡议为双方深化医疗科技合作提...
公共服务随人走 在常住地也可享... 随迁子女仅凭居住证入学、高血压等10种慢特病费用跨省直接结算……公共服务随人走 在常住地也可享这些保...
合力奋战二季度丨不沿边不靠海,... 5月26日,记者走进位于鹤壁市鹤山区的鹤壁内陆港(豫煤交易中心鹤壁园区),双层叠放的集装箱阵列格外醒...
法院判了:全体业主赔偿陈女士1... 近日,湖北宜昌长阳土家族自治县人民法院审结一起因高空抛物引起的纠纷。一个从楼上掉下来的矿泉水瓶,砸坏...
爱尔眼科递表港交所!年收入超2... 【大河财立方消息】 5月27日,爱尔眼科医院集团股份有限公司向港交所提交上市申请。据招股书,爱尔眼科...
南部战区新闻发言人就荷兰军舰侵... 南部战区新闻发言人翟士臣就荷兰军舰侵权行为发表谈话。南部战区新闻发言人翟士臣海军大校表示,5月27日...
伊朗称对美国空军基地实施了打击 伊朗塔斯尼姆通讯社5月28日报道,伊朗革命卫队称,为回应阿巴斯港机场附近的袭击事件,已对美国空军基地...
子公司猪肉抗生素超标37.5倍... 5月28日,河南双汇投资发展股份有限公司发布致歉声明:近日,黑龙江省市场监督管理局公示望奎双汇北大荒...
杭州别墅藏代孕窝点,官方通报 今天,浙江省杭州市临平区联合调查处置组发布情况通报。针对群众反映临平区某小区一住宅内有人非法从事试管...