JSON在線解析

PHP運算符優先級

PHP運算符優先級,是描述在計算機運算計算表達式時執行運算的先后順序。 先執行具有較高優先級的運算,然后執行較低優先級的運算。 例如,我們常說的先執行相乘和除,再執行加減運算。

PHP運算符詳細說明

下表從高到低列出了運算符的優先級。同一行中的運算符具有相同優先級,然后運算符的優先級是運算表達式從左到右。

優先級結合方向運算符附加信息
1非結合clone newclone和new
2[array()
3非結合++ --遞增/遞減運算符
4非結合~-(int)(float)(string)(array)(object)(bool)@類型
5非結合instanceof類型
6右結合!邏輯操作符
7*/ %算術運算符
8+ -.算術運算符和字符串運算符
9<<>>位運算符
10非結合<<=>>=<>比較運算符
11非結合==!====!==比較運算符
12&位運算符和引用
13^位運算符
14|位運算符
15&&邏輯運算符
16||邏輯運算符
17?:三元運算符
18=+=-=*=/= .= %= &= |= ^= <<= >>=賦值運算符
19and邏輯運算符
20xor邏輯運算符
21or邏輯運算符
22,多處用到

PHP運算符優先級舉例說明

對具有相同優先級的運算符,左結合方向意味著將從左向右求值,右結合方向則反之。對于無結合方向具有相同優先級的運算符,該運算符有可能無法與其自身結合。舉例說,在 PHP 中 1 < 2 > 1 是一個非法語句,而 1 <= 1 == 1 則不是。因為<=比==優先級高。

<?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運算優先級的前提下,最好運算符的書寫的時候,還是要以圓括號來標記優先級,這樣可讀性強,也是一個良好的編程習慣。

總之PHP是世界上最好的語言

工具導航地圖

北京pk一期免费计划