Σε αυτό το μάθημα, θα μάθουμε για τους τελεστές PHP. Εξηγήσαμε όλους τους τελεστές και τις περιοχές χρήσης τους στην PHP πλήρως και λεπτομερώς, με παραδείγματα.

Οι χαρακτήρες ή οι λέξεις που εκτελούν λειτουργίες μεταξύ μιας ή περισσότερων τιμών ονομάζονται τελεστές ή τελεστές. Η αγγλική λέξη για χειριστή είναι operator και είναι γνωστή ως operator στα τουρκικά. Ωστόσο, ορισμένες πηγές το αναφέρουν ως χειριστή. Και τα δύο έχουν το ίδιο νόημα.

Χειριστές PHP

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

Οι αριθμητικοί τελεστές της PHP χρησιμοποιούνται με αριθμητικές τιμές για την εκτέλεση κοινών αριθμητικών πράξεων όπως πρόσθεση, αφαίρεση, πολλαπλασιασμός.

χειριστήόνομαπαράδειγμα
+Προσθήκη$a + $b
-Αφαίρεση$a - $b
*Πολλαπλασιασμός$a * $b
/διαίρεση$a / $b
%Συντελεστής (modulus)$a % $b

Παραδείγματα τελεστών αριθμητικής PHP

Προσθέτουμε 2 τιμές με τον τελεστή πρόσθεσης. Σε αυτό το παράδειγμα χρησιμοποιήσαμε τον τελεστή προσθήκης php:

echo 2+4; // Çıktı: 6

Αφαιρούμε μια τιμή από την άλλη με τον τελεστή αφαίρεσης. Σε αυτό το παράδειγμα χρησιμοποιήσαμε τον τελεστή αφαίρεσης php:

echo 5-2; // Çıktı: 3

Διαιρούμε μια τιμή με μια άλλη τιμή με τον τελεστή διαίρεσης. Σε αυτό το παράδειγμα χρησιμοποιήσαμε τον τελεστή split php:

echo 6/2; // Çıktı: 3

Πολλαπλασιάζουμε μια τιμή με μια άλλη τιμή με τον τελεστή πολλαπλασιασμού. Σε αυτό το παράδειγμα χρησιμοποιήσαμε τον τελεστή πολλαπλασιασμού php:

echo 5*2; // Çıktı: 10

Με τον τελεστή modulus, βρίσκουμε το υπόλοιπο όταν μια τιμή διαιρείται με μια άλλη τιμή. Σε αυτό το παράδειγμα χρησιμοποιήσαμε τον τελεστή της ενότητας php:

echo 7%2; // Çıktı: 1

PHP Assignment Operators

Οι τελεστές εκχώρησης PHP χρησιμοποιούνται για την εκχώρηση τιμών.

χειριστήόνομαπαράδειγμα
=Ανάθεση$a = $b
+=Συλλέξτε και Απορρίψτε$a +=4
-=Αφαίρεση και αντιστοίχιση$a -=4
*=Διαιρέστε και εκχωρήστε$a /=4
*=Πολλαπλασιασμός και Εκχώρηση$a *=4
%=Ενότητα και ανάθεση$a%=4

Παραδείγματα χειριστή ανάθεσης PHP

Εκχωρήσαμε την τιμή στα δεξιά στον αριστερό τελεστή με τον ίσο τελεστή.

$a = 20;

Εκχωρήσαμε το άθροισμα της αριστερής και της δεξιάς μεταβλητής στη μεταβλητή με τον τελεστή add and assign.

$a = 10;
$b = 15; 
$a += $b; // $a değişkeninin değeri 25
// Üst satırdaki ifade ile $a = $a + $b ifadesi aynı.

Με τον τελεστή αφαίρεση και ανάθεση, εκχωρήσαμε το αποτέλεσμα της αφαίρεσης της τιμής της μεταβλητής στα δεξιά από την τιμή της μεταβλητής στα αριστερά στη μεταβλητή.

$a = 20;
$b = 10; 
$a -= $b; // $a değişkeninin değeri 10
// Üst satırdaki ifade ile $a = $a - $b ifadesi aynı.

Με τον τελεστή divide and assign, αντιστοιχίσαμε στη μεταβλητή το αποτέλεσμα του πόσες φορές μπορεί να διαιρεθεί η τιμή της μεταβλητής στα αριστερά με την τιμή της μεταβλητής στα δεξιά.

$a = 12;
$b = 4; 
$a /= $b; // $a değişkeninin değeri 3
// Üst satırdaki ifade ile $a = $a / $b ifadesi aynı.

Με τον τελεστή πολλαπλασιασμό και εκχώρηση, εκχωρήσαμε το αποτέλεσμα του πολλαπλασιασμού δύο τιμών μεταβλητών στη μεταβλητή.

$a = 2;
$b = 2; 
$a *= $b; // $a değişkeninin değeri 4
// Üst satırdaki ifade ile $a = $a * $b ifadesi aynı.

Χρησιμοποιώντας τη μονάδα και τους τελεστές εκχώρησης, εκχωρήσαμε στη μεταβλητή το υπόλοιπο όταν η τιμή της μεταβλητής στα αριστερά διαιρέθηκε με την τιμή της μεταβλητής στα δεξιά.

$a = 8;
$b = 3; 
$a %= $b; // $a değişkeninin değeri 2
// Üst satırdaki ifade ile $a = $a % $b ifadesi aynı.

PHP Comparison Operators

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

χειριστήόνομαπαράδειγμα
==Ίσο$a == $b
===ισοδύναμο$a === $b
!=Όχι ίσο (όχι ίσο)$a != $b
!==Όχι πανομοιότυπα$a !== $b
<>Όχι ίσο (όχι ίσο)$a <> $b
>Μεγαλύτερο από$a > $b
<Λιγότερο από$a < $b
>=Μεγαλύτερο ή ίσο με$a >= $b
<=Μικρότερο ή ίσο με (λιγότερο ή ίσο με)$a <= $b

Παραδείγματα χειριστή σύγκρισης PHP

Ελέγξαμε την ισότητα δύο τιμών με τον τελεστή ίσο.

$a = 4;
$b = 2; 
if ($a == $b) {
    echo "A, B'ye eşittir";
} else {
    echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

Ελέγξαμε την ισοδυναμία δύο τιμών με τον ίδιο τελεστή.

$a = 4;
$b = '4'; 
if ($a === $b) {
    echo "A, B'ye denktir";
} else {
    echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

Ελέγξαμε την ανισότητα δύο τιμών με τον μη ίσο τελεστή.

$a = 4;
$b = 3; 
if ($a != $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Ελέγξαμε την ανισότητα δύο τιμών με τον μη πανομοιότυπο τελεστή.

$a = 4;
$b = '4'; 
if ($a !== $b) {
    echo "A, B'ye denk değildir";
} else {
    echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

Ελέγξαμε την ανισότητα δύο τιμών με τον μη ίσο τελεστή.

$a = 4;
$b = 2; 
if ($a <> $b) {
    echo "A, B'ye eşit değildir";
} else {
    echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Ελέγξαμε αν η τιμή στα αριστερά ήταν μεγαλύτερη από την τιμή στα δεξιά με τον τελεστή μεγαλύτερο από.

$a = 4;
$b = 2; 
if ($a > $b) {
    echo "A, B'den daha büyüktür";
} else {
        echo "A, B'den daha büyük değildir";
}
// Çıktı: A, B'den daha büyüktür

Ελέγξαμε αν η τιμή στα αριστερά ήταν μικρότερη από την τιμή στα δεξιά με τον τελεστή λιγότερο από.

$a = 2;
$b = 4; 
if ($a &lt $b) {
    echo "A, B'den daha küçüktür";
} else {
        echo "A, B'den daha küçük değildir";
}
// Çıktı: A, B'den daha küçüktür

Ελέγξαμε αν η τιμή στα αριστερά είναι μεγαλύτερη ή ίση με την τιμή στα δεξιά με τον τελεστή μεγαλύτερη ή ίση με.

$a = 4;
$b = 2; 
if ($a >= $b) {
    echo "A, B'den daha büyüktür veya eşittir";
} else {
        echo "A, B'den daha büyük veya eşit değildir";
}
// Çıktı: A, B'den daha büyüktür veya eşittir

Ελέγξαμε αν η τιμή στα αριστερά είναι μικρότερη ή ίση με την τιμή στα δεξιά με τον τελεστή μικρότερη ή ίση.

$a = 2;
$b = 4; 
if ($a <= $b) {
    echo "A, B'den daha küçüktür veya eşittir";
} else {
        echo "A, B'den daha küçük veya eşit değildir";
}
// Çıktı: A, B'den daha küçüktür veya eşittir

PHP Increment/Decrement Operators

Οι τελεστές αύξησης της PHP χρησιμοποιούνται για την αύξηση της τιμής μιας μεταβλητής. Οι τελεστές μείωσης της PHP χρησιμοποιούνται για τη μείωση της τιμής μιας μεταβλητής.

χειριστήόνομα
++$iΑύξηση πριν (προ-αύξηση)
$i++Μετά την αύξηση (μετά την αύξηση)
--$iΜείωση πριν (προ της μείωσης)
$i--Μετά τη μείωση (μετά τη μείωση)

Παραδείγματα χειριστή PHP Increment Decrement

Ο τελεστής προ-αύξησης πρώτα αυξάνει την τιμή της μεταβλητής $i και στη συνέχεια επιστρέφει τη μεταβλητή $i.

$i = 10;  
echo ++$i; // Çıktı: 11

Στη συνέχεια, ο τελεστής μετά την αύξηση επιστρέφει τη μεταβλητή $i και, στη συνέχεια, αυξάνει την τιμή της μεταβλητής $i.

$i = 10;  
echo $i++; // Çıktı: 10

Ο τελεστής προ της μείωσης αρχικά μειώνει την τιμή της μεταβλητής $i και μετά επιστρέφει τη μεταβλητή $i.

$i = 10;  
echo --$i; // Çıktı: 9

Στη συνέχεια, ο τελεστής μετά τη μείωση επιστρέφει τη μεταβλητή $i και στη συνέχεια μειώνει την τιμή της μεταβλητής $i.

$i = 10;  
echo ++$i; // Çıktı: 10

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

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

χειριστήόνομαπαράδειγμα
όρκοςκαι (και)$a και $b
ήή (ή)$a ή $b
xorxor$a xor $b
&&και (και)$a && $b
||ή (ή)$a || $β
!όχι (σημείωση)$a! $β

Παραδείγματα λογικού χειριστή PHP

Και ο τελεστής (και) επιστρέφει true αν η συνθήκη στα $a και $b πληρούται.

$a = 100;
$b = 50;
if ($a === 100 and $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

Ο τελεστής ή (ή) επιστρέφει true εάν η συνθήκη $a ή $b πληρούται.

$a = 100;
$b = 50;
if ($a === 100 or $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

Και ο τελεστής (και) επιστρέφει true αν η συνθήκη στα $a και $b πληρούται.

$a = 100;
$b = 50;
if ($a === 100 && $b === 50) {
    echo "A, 100'e denktir ve B, 50'e denktir";
}
// Çıktı: A, 100'e denktir ve B, 50'e denktir

Ο τελεστής ή (ή) επιστρέφει true εάν η συνθήκη $a ή $b πληρούται.

$a = 100;
$b = 50;
if ($a === 100 || $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

Ο τελεστής xor επιστρέφει true μόνο εάν πληρούται η συνθήκη $a ή $b.

$a = 100;
$b = 50;
if ($a === 100 xor $b === 75) {
    echo "A, 100'e denktir veya B, 75'e denktir";
}
// Çıktı: A, 100'e denktir veya B, 75'e denktir

Ο τελεστής not επιστρέφει true εάν η συνθήκη στο $a δεν πληρούται.

$x = 50;
if ($x !== 75) {
    echo "X, 75'e denk değildir";
}
// Çıktı: X, 75'e denk değildir

Τελεστές κειμένου PHP (τελεστές συμβολοσειρών)

Η PHP έχει 2 τελεστές σχεδιασμένους για κείμενα:
Χειριστής συνένωσης και τελεστής ανάθεσης συνένωσης.

χειριστήόνομαπαράδειγμα
.Χειριστής συνένωσης$a . $β
.=Χειριστής εκχώρησης συνένωσης$a .= $b

Παραδείγματα χειριστή κειμένου PHP

Ο τελεστής συνένωσης συνδυάζει δύο δεδομένα. Στο παρακάτω παράδειγμα, συνδυάσαμε τα δεδομένα των μεταβλητών $a και $b και τα εκτυπώσαμε.

$a = "Hello ";
$b = " World!";
echo $a . $b;
// Çıktı: Hello World!

Ο τελεστής εκχώρησης συνένωσης προσθέτει τα δεύτερα δεδομένα δίπλα στα πρώτα δεδομένα. Στο παρακάτω παράδειγμα, προσθέσαμε τα δεδομένα της μεταβλητής $b δίπλα στα δεδομένα της μεταβλητής $a και εκτυπώσαμε τη μεταβλητή $a.

$a = "Hello ";
$b = " World!";
$a .= $b;
echo $a;
// Çıktı: Hello World!

PHP Array Operators

Οι τελεστές πίνακα στην PHP χρησιμοποιούνται για τη σύγκριση πινάκων.

χειριστήόνομαπαράδειγμα
+Union Operator (Ένωση)$a + $b
==Equality Operator (ισότητα)$a == $b
===Χειριστής ισοδυναμίας (ταυτότητα)$a === $b
!=Τελεστής ανισότητας (ανισότητα)$a != $b
<>Τελεστής ανισότητας (ανισότητα)$a <> $b
!==Χειριστής ανισορροπίας (χωρίς ταυτότητα)$a !== $b

Παραδείγματα χειριστή PHP Array

Ο τελεστής ένωσης συνδυάζει πίνακες.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
print_r($a + $b);
// Çıktı: Array ( [a] => kırmızı [b] => mavi [c] => yeşil [d] => sarı )

Ο τελεστής ισότητας (ισότητα) παρέχει έλεγχο ισότητας σε πίνακες. Μπορούμε να βρούμε αν τα δεδομένα δύο πινάκων είναι ίσα ή όχι με τον τελεστή ισότητας.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a == $b) {
	echo "A, B'ye eşittir";
} else {
	echo "A, B'ye eşit değildir";
}
// Çıktı: A, B'ye eşit değildir

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

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a === $b) {
	echo "A, B'ye denktir";
} else {
	echo "A, B'ye denk değildir";
}
// Çıktı: A, B'ye denk değildir

Ο τελεστής ανισότητας (ανισότητα) παρέχει έλεγχο ανισότητας σε πίνακες. Μπορούμε να μάθουμε ότι τα δεδομένα δύο πινάκων δεν είναι ίσα με τον τελεστή ανισότητας.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a != $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

Ο τελεστής ανισότητας (ανισότητα) παρέχει έλεγχο ανισότητας σε πίνακες. Μπορούμε να μάθουμε ότι τα δεδομένα δύο πινάκων δεν είναι ίσα με τον τελεστή ανισότητας.

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a  $b) {
	echo "A, B'ye eşit değildir";
} else {
	echo "A, B'ye eşittir";
}
// Çıktı: A, B'ye eşit değildir

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

$a = array('a' => 'kırmızı', 'b' => 'mavi');  
$b = array('c' => 'yeşil', 'd' => 'sarı');  
if ($a !== $b) {
	echo "A, B'ye denk değildir";
} else {
	echo "A, B'ye denktir";
}
// Çıktı: A, B'ye denk değildir

PHP Conditional Assignment Operators

Οι τελεστές εκχώρησης υπό όρους PHP χρησιμοποιούνται για την εκχώρηση μιας τιμής βάσει συνθηκών.

χειριστήόνομαπαράδειγμα
?:Τριαδικός χειριστής (τριμερής)$a = expr1 ? expr2 : expr3
??Null Coalescing Operator (null Coalescing)$a = expr1 ?? expr2

Παραδείγματα χειριστή ανάθεσης PHP υπό όρους

Ο τριαδικός τελεστής εκχωρεί δεδομένα υπό όρους. Στο παρακάτω παράδειγμα, αντιστοιχίσαμε τα δεδομένα "not log in" στη μεταβλητή $status εάν η συνθήκη κενό($user) επιστρέψει true και "logg in" αν επιστρέψει false.

// Örnek 1:
$user = "Onur Özden";
echo $status = (empty($user)) ? "giriş yapılmadı" : "giriş yapıldı";
// empty($user) koşulu false ise, $status değişkenine "giriş yapıldı" değerini ata, true ise $status değişkenine "giriş yapılmadı" değerini ata.
// Örnek 2:
$user = "Onur Özden";
echo $status = (empty($user)) ? 0 : 1;
// empty($user) = false ise, $status değişkenine 0 değerini ata, true ise $status değişkenine 1 değerini ata.

Ο τελεστής μηδενικής συνένωσης εκχωρεί δεδομένα υπό όρους. Εάν τα πρώτα δεδομένα υπάρχουν και δεν είναι μηδενικά, η τιμή του $a είναι τα πρώτα δεδομένα. Εάν τα πρώτα δεδομένα δεν υπάρχουν ή είναι μηδενικά, η τιμή του $a είναι το δεύτερο δεδομένα. Στο παρακάτω παράδειγμα, αντιστοιχίσαμε τα δεδομένα "not log in" στη μεταβλητή $status εάν η συνθήκη κενό($user) επιστρέψει true και "logg in" αν επιστρέψει false.

// $_GET['user'] varsa ve null değilse $user değişkenine değer olarak atanır, $_GET['user'] yoksa veya null ise $user değişkenine "giriş yapılmadı" metni değer olarak tanır. 
echo $user = $_GET['user'] ?? 'giriş yapılmadı';
// Çıktı: giriş yapılmadı
// $car değişkeni varsa ve null değilse $car değişkenine $car değişkeninin değeri atanır, $car değişkeni yoksa veya null ise $car değişkenine 'BMW' değeri atanır. 
echo $color = $color ?? 'BMW';
// Çıktı: BMW

Προτεραιότητα χειριστή PHP

Παραδείγματα προτεραιότητας χειριστή

Όπως και στα μαθηματικά, οι τελεστές στην PHP έχουν κάποιες τιμές προτεραιότητας. Ας το καταλάβουμε αυτό με ένα παράδειγμα.

echo 3 + 5 * 2; // Çıktı: 13

Στην παραπάνω διαδικασία η έξοδος θα είναι 13. Επειδή ο πολλαπλασιασμός έχει προτεραιότητα έναντι της πρόσθεσης. Επομένως, έγινε πρώτα ο πολλαπλασιασμός και μετά η πρόσθεση. Ωστόσο, είναι δυνατή η παρέμβαση στην προτεραιότητα επεξεργασίας.

echo (3 + 5) * 2; // Çıktı: 16

Στην παραπάνω διαδικασία η έξοδος θα είναι 16. Επειδή δώσαμε προτεραιότητα στη διαδικασία πρόσθεσης τοποθετώντας την σε παρένθεση. Επομένως, πρώτα έγινε πρόσθεση και μετά πολλαπλασιασμός. Έτσι παρέμβαμε στην προτεραιότητα συναλλαγών.

Πίνακας Προτεραιοτήτων Χειριστών

Στον παρακάτω πίνακα, οι χειριστές παρατίθενται κατά σειρά από την υψηλότερη προτεραιότητα στη χαμηλότερη προτεραιότητα. Οι φορείς εκμετάλλευσης στην ίδια γραμμή έχουν ίση προτεραιότητα και η σειρά με την οποία θα διεκπεραιωθούν αποφασίζεται κατά την αξιολόγηση. Έχουμε συμπεριλάβει τον πίνακα προτεραιότητας όλων των τελεστών στην PHP παρακάτω.

απόδοσηχειριστές
(κανένα)clone new
(κανένα)**
από τα δεξιά+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
από αριστεράinstanceof
(κανένα)!
από αριστερά* / %
από αριστερά+ - .
από αριστερά<< >>
από αριστερά.
χωρίς κατεύθυνση< <= > >=
χωρίς κατεύθυνση== != === !== <> <=>
αριστερά&
από αριστερά^
από αριστερά|
από αριστερά&&
από αριστερά||
σωστά??
χωρίς κατεύθυνση? :
από τα δεξιά= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(κανένα)yield from
(κανένα)yield
(κανένα)print
από αριστεράand
από αριστεράxor
από αριστεράor

Αυτός ο πίνακας προέρχεται από το php.net. Πηγή: https://www.php.net/manual/tr/language.operators.precedence.php