php优先级,PHP运算优先级——神一般的设定
今天在研究sina的開放平臺SDK的時候經(jīng)常會發(fā)現(xiàn)這么一種寫法:
@$var_a or $var_a = "a string or others"; 炸一看!這是什么個意思?完全沒見過的用法啊。。。
后來冷靜下來一想,應該是先判斷$var_a是否為真(或者是否存在、是否為 null……),如果判斷為假(這個過程應該有類型轉換)則會繼續(xù)執(zhí)行or后面的內(nèi)容,這樣就會給$var_a賦值。反之如果$var_a本來就存在,即 判斷為真,則不執(zhí)行后面的內(nèi)容(事實上也的確不需要了)。用法跟下面這個有異曲同工之妙。。。
isset($var_a) ? : $var_a = "asdasdads"; 不過個人比較傾向于后面這種寫法,至少小伙伴們沒有驚呆。。。
跑題了,今天主要目的是討論PHP中運算的優(yōu)先級
由上面的例子可以看出來,賦值符“=”的優(yōu)先級>或“or”???這。。。跟以前的價值觀完全不一樣啊。。。僅存的一絲良知告訴我:邏輯運算符的優(yōu)先級應該大于賦值符。但是為什么會不一樣呢???難道這些年都白活了???我的價值觀難道一直都是錯的么???
繼 續(xù)深入研究了一下。PHP中貌似有兩種邏輯運算符“||”和“or”,“&&”和“and”等,當時天真的認為兩種寫法是等價的,這種設 定。。。要么是PHP從雜揉向標準的一個過渡,要么是使不同程序員都能適應PHP的語法。。。事實證明,這種想法太天真了。。。
事實證明:?"||、&&"? >? "=" ? >?? “or、and”
只有這一句話是重點,其余的都是廢話。。。
至于其他運算優(yōu)先級。。。
總結一下。。。
實踐出真知!
實踐是檢驗真理的唯一標準!
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結
以上是生活随笔為你收集整理的php优先级,PHP运算优先级——神一般的设定的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 时分秒选择联动,微信小程序-年月
- 下一篇: 动态规划算法php,php算法学习之动态