Τελεστές

Οι τελεστές χρησιμοποιούνται για την εκτέλεση συγκεκριμένων πράξεων. Παρακάτω βλέπουμε τους τελεστές ανά κατηγορία ανάλογα με το είδος της πράξης που εκτελούν.

Αριθμητικοί τελεστές

Τελεστής Περιγραφή Παράδειγμα Αποτέλεσμα
x + y Πρόσθεση μεταξύ των μεταβλητών x και y 3 + 2 5
x - y Αφαίρεση του y από το x 3 – 2 1
x * y Πολλαπλασιασμός των x και y 3 * 2 6
x / y Διαίρεση του x από το y 3 / 2 d 1.5
x % y Υπόλοιπο της διαίρεσης του x από το y 3 % 2 1
-x Το αντίθετο του x -3 -3
x.y Συνένωση των μεταβλητών x και y “Hello”.” world” Hello world

 

Τελεστές ανάθεσης
Ο βασικός τελεστής ανάθεσης είναι το σύμβολο (=). Το αριστερό μέρος είναι το όνομα της μεταβλητής και το δεξί η τιμή που της δίνουμε.

Ανάθεση Ίδιο με Περιγραφή Παράδειγμα Αποτέλεσμα
x = y x = y Θέτουμε το x ίσο με την τιμή του y $x = 5;  
x += y x = x + y Προσθέτουμε στο x την τιμή του y $x = 5;
$x += 3;
x = 8
x -= y x = x - y Αφαιρούμε από το x την τιμή του y $x = 5;
$x -= 3;
x = 2
x *= y x = x * y Πολλαπλασιάζουμε το x με την τιμή του y $x = 5;
$x *= 3;
x = 15
x /= y x = x / y Διαιρούμε από το x την τιμή του y $x = 8;
$x /= 4;
x = 2
x %= y x = x % y Βρίσκουμε το υπόλοιπο της διαίρεσης του x με το y $x = 5;
$x %= 3;
x = 2
x .= y x = x.y Ενώνουμε στο τέλος του x την τιμή του y $x = “hello”;
$x .= “ world”;
x = 'hello world'

 

Τελεστές αύξησης / μείωσης

Τελεστής Περιγραφή Παράδειγμα Αποτέλεσμα
++x Αυξάνει την τιμή του x κατά μία μονάδα και την επιστρέφει $x = 3;
echo ++$x;
x = 4
x++ Επιστρέφει την τιμή του x και στη συνέχεια την αυξάνει κατά ένα $x = 3;
echo $x++;
Τυπώνει 3 και στη συνέχεια το x γίνεται ίσο με 4
--x Μειώνει την τιμή του x κατά ένα και την επιστρέφει $x = 3;
echo --$x;
x = 2
x-- Επιστρέφει την τιμή του x και στη συνέχεια τη μειώνει κατά ένα $x = 3;
echo $x--;
Τυπώνει και 3 και στη συνέχεια το x γίνεται ίσο με 2

 

Τελεστές σύγκρισης
Οι τελεστές σύγκρισης χρησιμοποιούνται για να συγκριθούν δύο τιμές.

Τελεστής Περιγραφή Παράδειγμα Αποτέλεσμα
x == y Αληθής όταν το x είναι ίσο με το y 5 == 5
5 == 6
Επιστρέφει true
Επιστρέφει false
x === y Αληθής αν το x είναι ίσο με το y και είναι του ίδιου τύπου 5 === 5
5 === “5”
Επιστρέφει true
Επιστρέφει false γιατί το “5” θεωρείται συμβολοσειρά και όχι ακέραια τιμή
x != y Αληθής αν το x δεν είναι ίσο με το y 5 != 5
5 != 6
Επιστρέφει false
Επιστρέφει true
x <> y Αληθής αν το x δεν είναι ίσο με το y 5 <> 5
5 <> 6
Επιστρέφει false
Επιστρέφει true
x !== y Αληθής αν το x δεν είναι ίσο με το y ή αν είναι είναι διαφορετικού τύπου 5 !== 5
5 !== “5”
Επιστρέφει false
Επιστρέφει true αφού είναι διαφορετικού τύπου
x > y Αληθής αν το x είναι μεγαλύτερο του y 5 > 3
5 > 8
Επιστρέφει true
Επιστρέφει false
x < y Αληθής αν το x είναι μικρότερο του y 5 < 8
5 < 3
Επιστρέφει true
Επιστρέφει false
x >= y Αληθής αν το x είναι μεγαλύτερο ή ίσο του y 5 >= 5
5 >= 6
Επιστρέφει true
Επιστρέφει false
x <= y Αληθής αν το x είναι μικρότερο ή ίσο του y 5 <= 5
5 <= 3
Επιστρέφει true
Επιστρέφει false

 

Λογικοί τελεστές

Τελεστής Περιγραφή Παράδειγμα Αποτέλεσμα
x and y Αληθές αν τα x και y είναι true $x = 3;
$y = 5;
$x < 5 and $y > 2
Επιστρέφει true
x or y Αληθές αν το x ή το y (ή και τα δύο) είναι true $x = 3;
$y = 5;
$x < 3 or $y > 6
Επιστρέφει true
x xor y Αληθές αν το μόνο το x ή μόνο το y είναι true $x = 3;
$y = 5;
$x == 3 xor $y == 5
Επιστρέφει false
x && y Αληθές αν τα x και y είναι true (όπως το x and y) $x = 3;
$y = 5;
$x == 3 && $y == 5
Επιστρέφει false
x || y Αληθές αν το x ή το y (ή και τα δύο) είναι true (όπως το x or y) $x = 3;
$y = 5;
$x == 2 or $y == 5
Επιστρέφει true
!x Αληθές αν το x είναι false $x == 3;
$y == 5;
!($x == $y)
Επιστρέφει true

 

Τελεστές πινάκων
Για τους πίνακες θα δούμε σε επόμενο κεφάλαιο. Οι τελεστές που χρησιμοποιούνται ανάμεσά τους είναι οι εξής:

Τελεστής Περιγραφή
x + y Ένωση των πινάκων x και y
x == y Αληθές αν οι πίνακες x και y έχουν τα ίδια κλειδιά και τις ίδιες τιμές
x === y Αληθές αν οι πίνακες x και y έχουν τα ίδια κλειδιά και τιμές και οι τελευταίες είναι και ίδιου τύπου
x != y Αληθές αν το x δεν είναι ίσο με το y
x <> y Αληθές αν το x δεν είναι ίσο με το y
x !== y Αληθές αν οι πίνακες x και y έχουν διαφορετικά κλειδιά και τιμές ή αν οι τιμές τους είναι διαφορετικού τύπου