PHP運算符優(yōu)先級,是描述在計算機運算計算表達式時執(zhí)行運算的先后順序。 先執(zhí)行具有較高優(yōu)先級的運算,然后執(zhí)行較低優(yōu)先級的運算。 例如,我們常說的先執(zhí)行相乘和除,再執(zhí)行加減運算。
下表從高到低列出了運算符的優(yōu)先級。同一行中的運算符具有相同優(yōu)先級,然后運算符的優(yōu)先級是運算表達式從左到右。
| 優(yōu)先級 | 結(jié)合方向 | 運算符 | 附加信息 |
|---|---|---|---|
| 1 | 非結(jié)合 | clone new | clone和new |
| 2 | 左 | [ | array() |
| 3 | 非結(jié)合 | ++ -- | 遞增/遞減運算符 |
| 4 | 非結(jié)合 | ~-(int)(float)(string)(array)(object)(bool)@ | 類型 |
| 5 | 非結(jié)合 | instanceof | 類型 |
| 6 | 右結(jié)合 | ! | 邏輯操作符 |
| 7 | 左 | */ % | 算術(shù)運算符 |
| 8 | 左 | + -. | 算術(shù)運算符和字符串運算符 |
| 9 | 左 | <<>> | 位運算符 |
| 10 | 非結(jié)合 | <<=>>=<> | 比較運算符 |
| 11 | 非結(jié)合 | ==!====!== | 比較運算符 |
| 12 | 左 | & | 位運算符和引用 |
| 13 | 左 | ^ | 位運算符 |
| 14 | 左 | | | 位運算符 |
| 15 | 左 | && | 邏輯運算符 |
| 16 | 左 | || | 邏輯運算符 |
| 17 | 左 | ?: | 三元運算符 |
| 18 | 右 | =+=-=*=/= .= %= &= |= ^= <<= >>= | 賦值運算符 |
| 19 | 左 | and | 邏輯運算符 |
| 20 | 左 | xor | 邏輯運算符 |
| 21 | 左 | or | 邏輯運算符 |
| 22 | 左 | , | 多處用到 |
對具有相同優(yōu)先級的運算符,左結(jié)合方向意味著將從左向右求值,右結(jié)合方向則反之。對于無結(jié)合方向具有相同優(yōu)先級的運算符,該運算符有可能無法與其自身結(jié)合。舉例說,在 PHP 中 1 < 2 > 1 是一個非法語句,而 1 <= 1 == 1 則不是。因為<=比==優(yōu)先級高。
<?php $a = 3 * 3 % 5; // (3 * 3) % 5 = 4 $a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2 $a = 1; $b = 2; $a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5 // mixing ++ and + produces undefined behavior $a = 1; echo ++$a + $a++; // may print 4 or 5 ?>
所以在我們非常清楚PHP運算優(yōu)先級的前提下,最好運算符的書寫的時候,還是要以圓括號來標(biāo)記優(yōu)先級,這樣可讀性強,也是一個良好的編程習(xí)慣。
總之PHP是世界上最好的語言。
更新時間:2023-09-24 08:11:22
綜合技術(shù)交流:點擊加入--> [SO JSON官方交流①群][收費]
綜合技術(shù)交流:點擊加入--> [SO JSON官方交流②群][免費]
要求:不能發(fā)廣告、暴力、政治、付費教程,違者直接踢出。
備注:入群費用5元,沒有QQ錢包,可以先支付寶 or 微信掃碼支付5元贊助后,我拉您進去。QQ聯(lián)系我。
掃碼贊助:贊助二維碼。
技術(shù)交流QQ群:①群259217951,②群166848545
站長郵箱:so@sojson.com
對頁面內(nèi)容有任何疑問和建議,請聯(lián)系我們。
所有贊助/開支都講公開明細,用于網(wǎng)站維護:贊助名單查看
正在加載... ...