php and 和 &&的一个坑
admin
2023-06-13 07:02:46
0

我原来以为PHP中的and和&&是一样的, 只是写法上为了可读性和美观, 事实上我错了. 这里面深藏了一个坑!
看以下代码:

$bA = true;
$bB = false;
$b1 = $bA and $bB;
$b2 = $bA && $bB;
var_dump($b1); // $b1 = true
var_dump($b2); // $b2 = false
$bA = false;
$bB = true;
$b3 = $bA or $bB;
$b4 = $bA || $bB;
var_dump($b3); // $b3 = false
var_dump($b4); // $b4 = true
复制
奇怪吧, and/&&和or/||出来的结果竟然不一样的. 问题出在哪里呢?
我们再看一段代码!

$bA = true;
$bB = false;
var_dump($bA and $bB); // false
var_dump($bA && $bB); // false
$bA = false;
$bB = true;
var_dump($bA or $bB); // true
var_dump($bA || $bB); // true
复制
更奇怪, 这时怎么是对的. 所以问题可能出现在=上, 一番google和文档,终于找到了答案!

运算符优先级
通过这个表, 我们可以看到 and/&& 和 or/|| 这两组运算符的优先级竟然是不一样的. and和or的优先级是低于=的, 所以上面的代码就好理解了, 就是先做赋值然后再做了一个and或or的逻辑运算, 这个运算的结果并没有存下来. 所以最后出来让我们匪夷所思的结果.
php    and  和 &&的一个坑

相关内容

热门资讯

王毅会见巴军方高层,谈及伊朗局... 据凤凰卫视报道,中共中央政治局委员、外交部长王毅5月25日在人民大会堂会见巴基斯坦国防军司令兼陆军参...
何妨把课堂打造成学术“直播间” 评论员说 何妨把课堂打造成学术“直播间” ■ 本报评论员 刘晓庆 其实,不只是大学课堂越来越“静悄悄...
空间站完成第8次“太空会师” 5月25日在北京航天飞行控制中心飞控大厅拍摄的神舟二十一号航天员乘组和神舟二十三号航天员乘组拍摄“全...
美军称在伊朗南部实施自卫打击 央视记者获悉,美国中央司令部发言人蒂姆·霍金斯上尉表示,美军25日在伊朗南部实施了自卫打击,“旨在保...
小米押注!闪回科技四次递表港交... 【大河财立方消息】5月25日,闪回科技有限公司(以下简称闪回科技)在港交所提交上市申请,独家保荐人为...
神舟二十三号飞船发射任务圆满成... 乘组一名航天员将开展一年期在轨驻留试验 神舟二十三号飞船发射任务圆满成功 北京时间5月24日23时0...
西安警方:女孩与父亲争执被路人... 5月25日凌晨,针对网传“16岁女孩被陌生男子殴打”一事,西安市公安局莲湖分局发布警情通报。据江西广...
力鼎光电获得外观设计专利授权:... 证券之星消息,根据天眼查APP数据显示力鼎光电(605118)新获得一项外观设计专利授权,专利名为“...
“一箭8星”再启新程!中科宇航... IT之家 5 月 25 日消息,中科宇航今日宣布,近日,力箭一号遥十四运载火箭在中科宇航产业化基地如...
鄠图科普丨一起“趣”阅读|火箭... 火箭发射是太空旅行的开始, 也是人类探索宇宙的重要一步。 火箭是载人和无人航天器进入太空的必备工具,...