บทนำ
ลำดับความสำคัญของตัวดำเนินการ (Precedence) กำหนดลำดับการดำเนินการของตัวดำเนินการในนิพจน์ ตัวอย่างเช่น ใน 2+6/3 การหาร 6/3 จะทำก่อน แล้วค่อยบวก 2+2 เพราะตัวดำเนินการหาร / มี precedence สูงกว่าตัวดำเนินการบวก + หากต้องการบังคับให้ตัวดำเนินการตัวหนึ่งทำงานก่อนอื่น ควรใช้วงเล็บ ในตัวอย่างนี้ (2+6)/3 จะบวกก่อนแล้วค่อยหาร
ตัวดำเนินการบางตัวอาจมีระดับ precedence เท่ากัน ในกรณีนี้ ลำดับความเชื่อมโยง (associativity) (ซ้ายหรือขวา) จะกำหนดลำดับการดำเนินการ ตัวดำเนินการที่มี precedence เท่ากันแต่ non-associative ไม่สามารถใช้ติดกันได้ ตารางด้านล่างแสดงรายการตัวดำเนินการ PHP ตามลำดับ precedence จากสูงไปต่ำ:
| ตัวดำเนินการ | วัตถุประสงค์ |
|---|---|
| clone new | clone และ new |
| ** | ยกกำลัง (exponentiation) |
| ++ -- | เพิ่ม/ลด (increment/decrement) |
| ~(int) (float) (string) (array) (object) (bool) | แปลงชนิด (casting) |
| instanceof | ชนิดข้อมูล |
| ! | ตรรกะ (logical) |
| * / | คูณ/หาร |
| % | มอดุล로 (modulo) |
| + - . | เลขคณิตและสตริง |
| << >> | เลขบิต (bitwise shift) |
| < <= > >= | เปรียบเทียบ |
| == != === !== <> <=> | เปรียบเทียบ |
| & | บิต AND/อ้างอิง |
| ^ | บิต XOR |
| | | บิต OR |
| && | ตรรกะ AND |
| || | ตรรกะ OR |
| ?? | Null coalescing |
| ? : | Ternary |
| = += -= *= **= /= .= %= &= |= ^= <<= >>= ??= | ตัวดำเนินการกำหนดค่า |
| yield from | yield from |
| yield | yield |
| and | ตรรกะ |
| xor | ตรรกะ |
| or | ตรรกะ |