運算子

運算子操作或作用於一個(一元運算子,如 !$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 的 721print 部分評估 3 + 4,列印結果 7 並返回 1。之後,2 被迴應,與 print1)的返回值連線在一起。