Υπάρχουν 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 |