運算子

運算子操作或作用於一個(一元運算子,如 !$a 和++$a),兩個(二元運算子,如 $a + $b 或 $a >> $b)或三個(唯一的三元運算子是 $a ? $b : $c)表示式。

運算子優先順序會影響運算子的分組方式(就像有括號一樣)。以下是按優先順序排列的運算子列表(第二列中的運算子)。如果多個運算子在一行中,則分組由程式碼順序確定,其中第一列指示關聯性(請參閱示例)。

協會 操作者
剩下 -> ::
沒有 clone new
剩下 [
對 **
對 ++ -- ~ (int) (float) (string) (array) (object) (bool) @
沒有 instanceof
對 !
剩下 * / %
剩下 + - .
剩下 << >>
沒有 < <= > >=
沒有 == != === !== <> <=>
剩下 &
剩下 ^
剩下 |
剩下 &&
剩下 ||
對 ??
剩下 ? :
對 = += -= *= **= /= .= %= &=`
剩下 and
剩下 xor
剩下 or

完整資訊在 Stack Overflow 。

請注意,始終首先評估函式和語言結構(例如 print),但將根據上述優先順序/關聯性規則使用任何返回值。如果省略語言構造之後的括號,則需要特別小心。例如 echo 2 . print 3 + 4; echo 的 721:print 部分評估 3 + 4,列印結果 7 並返回 1。之後,2 被迴應,與 print(1)的返回值連線在一起。