Υπάρχουν 4 είδη τελεστών πράξεων στην php τα οποία χρησιμοποιούνται σε συνδυασμό με μια ή περισσότερες μεταβλητές (ή τιμές στις μεταβλητές) για να δώσουν ένα αποτέλεσμα. Στήλη Π = Προτεραιότητα, όπου Α = Αριστερή, Κ = Καμία, Δ = Δεξιά. Στήλη Α = Αύξοντας αριθμός σειράς προτεραιότητας.
| Α | Π | Τελεστής | Πράξη |
|---|---|---|---|
| 1 | Α | , | Διαχωρισμός στοιχείων |
| 2 | Α | or | Λογικό "Η" |
| 3 | Α | xor | Λογικό "XOR" |
| 4 | Α | and | Λογικό "ΚΑΙ" |
| 5 | Α | = | Εκχώρηση τιμών |
| 6 | Α | ?: | Συνθήκη (if - else) |
| 7 | Α | || | Λογικό "Η" |
| 8 | Α | && | Λογικό "ΚΑΙ" |
| 9 | Α | | | Δυαδικό "Η" |
| 10 | Α | ^ | Δυαδικό "XOR" |
| 11 | Α | & | Δυαδικό "ΚΑΙ" |
| 12 | Κ | == | Ισότητα |
| 13 | Κ | < ή <= | Μικρότερο ή μικρότερο ίσο |
| 14 | Α | << | Δυαδική μετατόπιση αριστερά |
| 15 | Α | + | Πρόσθεση |
| 16 | Α | * | Πολλαπλασιασμός |
| 17 | Δ | ! | Λογικό "ΟΧΙ" |
| 18 | Κ | instance of | Δοκιμή τύπου |
| 19 | Δ | ~ | Δυαδικό "ΟΧΙ" |
| 20 | Α | [ | Πίνακας |
| 21 | Κ | clone ή new | Δημιουργία νέου αντικειμένου |
Αριθμητικοί τελεστές
Οι αριθμητικοί τελεστές αναλαμβάνουν να πραγματοποιήσουν μια πράξη μεταξύ δυο συμβαλλόμενων μερών και επιστρέφουν το αποτέλεσμα.
| Τελεστής | Περιγραφή | Παράδειγμα | Αποτέλεσμα |
|---|---|---|---|
| + | Πρόσθεση | |
8 |
| - | Αφαίρεση | |
6 |
| * | Πολλαπλασιασμός | |
6 |
| / | Διαίρεση | |
3 |
| % | Υπόλοιπο διαίρεσης(Modulus) | |
1 |
| ++ | Αύξηση κατά ένα | |
13 |
| -- | Μείωση κατά ένα | |
11 |
Τελεστές σύγκρισης
Οι τελεστές σύγκρισης, αναλόγως την «πράξη» επιστρέφουν δυο τιμές ή true ή false.
| Τελεστής | Περιγραφή | Παράδειγμα | Αποτέλεσμα |
|---|---|---|---|
| == | ίσον | |
false |
| === | ίσον και με ίδιο τύπο | ||
| != | όχι ίσον | |
true |
| > | μεγαλύτερο | |
false |
| < | μικρότερο | |
true |
| >= | Μεγαλύτερο ή ίσον | |
true |
| <= | μικρότερο ή ίσον | |
true |
Τελεστές ορισμού τιμών
Στις πράξεις μέσω ορισμού τιμών, γίνεται μια πιο σύντομη χρήση του παραγόμενου κώδικα έτσι το x+=y είναι ίσο με το x=x+y.
| Τελεστής | Παράδειγμα | Είναι ίσο με |
|---|---|---|
| = | $x=$y; | $x=$y; |
| += | $x+=$y; | $x=$x+$y; |
| -= | $x-=$y; | $x=$x-$y; |
| *= | $x*=$y; | $x=$x*$y; |
| /= | $x*=$y; | $x=$x*$y; |
| %= | $x%=$y; | $x=$x%$y; |
Προτεραιότητα τελεστών
Όπως και στα καθημερινά μαθηματικά της ζωής μας έτσι και στην PHP υπάρχουν κάποιοι κανόνες σχετικά με την προτεραιότητα των πράξεων και συνεπώς των τελεστών.
$a = 3*20-2;
Η τιμή της $a θα είναι 58 ή 54 ; για να γίνει σαφέστερη η τοποθέτηση των πράξεων θα μπορούσαν να χρησιμοποιηθούν παρενθέσεις:
$a = (3*20)-2;
$a = 3*(20-2);
Στην πρώτη περίπτωση το 3 θα πολλαπλασιαστεί με το 20 και μετά θα αφαιρεθεί το 2 έτσι προκύπτει το 58. Ενώ στην δεύτερη περίπτωση πρώτα αφαιρείται το 2 από το 20 και το 18 πολλαπλασιάζεται με το 3 όπου μας δίνει αποτέλεσμα 54.
$a = 2-2-2;
Στην περίπτωση αυτή όπου έχουμε δύο ίδιες πράξεις, ισχύει ότι θα εκτελεστεί πρώτα η εντολή που βρίσκεται αριστερά. Επειδή το 2 που είναι στην μέση έχει ίδια πράξη και στις δυο πλευρές του και το «-» είναι με αριστερή προτεραιότητα, γίνεται πρώτα η αριστερή πράξη και έτσι έχουμε αποτέλεσμα το -2.
Γενικότερα ισχύει:
| Προτεραιότητα | Τελεστής |
|---|---|
| Αριστερή | , |
| Αριστερή | or |
| Αριστερή | xor |
| Αριστερή | and |
| Δεξιά | |
| Δεξιά | = += -= *= /= .= %= &= |= ^= <<= >>= |
| Αριστερή | ?: |
| Αριστερή | || |
| Αριστερή | && |
| Αριστερή | | |
| Αριστερή | ^ |
| Αριστερή | & |
| Καμία | == != === !== |
| Καμία | < <= > >= |
| Αριστερή | << >> |
| Αριστερή | + - . |
| Αριστερή | * / % |
| Δεξιά | ! ~ ++ -- (int) (float) (string) (array) (object) @ |
| Δεξιά | [ |
| Καμία | clone new |