În această lecție, vom afla despre operatorii PHP. Am explicat toți operatorii și zonele lor de utilizare în PHP complet și detaliat, cu exemple.

Caracterele sau cuvintele care efectuează operații între una sau mai multe valori se numesc operatori sau operatori. Cuvântul englez pentru operator este operator și este cunoscut ca operator în turcă. Cu toate acestea, unele surse îl menționează ca operator. Ambele au același sens.

Operatori PHP

Operatori aritmetici PHP

Operatorii aritmetici PHP sunt utilizați cu valori numerice pentru a efectua operații aritmetice obișnuite precum adunarea, scăderea, înmulțirea.

operatornumeexemplu
+Adăugare$a + $b
-Scăderea$a - $b
*Înmulțirea$a * $b
/diviziune$a / $b
%Modul (modul)$a % $b

Exemple de operatori aritmetici PHP

Adăugăm 2 valori cu operatorul de adunare. În acest exemplu am folosit operatorul de adăugare php:

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

Scădem o valoare din alta cu operatorul de scădere. În acest exemplu am folosit operatorul de scădere php:

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

Împărțim o valoare la o altă valoare cu operatorul de împărțire. În acest exemplu am folosit operatorul php split:

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

Înmulțim o valoare cu o altă valoare cu operatorul de înmulțire. În acest exemplu am folosit operatorul de multiplicare php:

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

Cu operatorul modul, găsim restul atunci când o valoare este împărțită la o altă valoare. În acest exemplu am folosit operatorul de modul php:

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

Operatori de atribuire PHP

Operatorii de atribuire PHP sunt utilizați pentru a atribui valori.

operatornumeexemplu
=Misiunea$a = $b
+=Colectați și aruncați$a +=4
-=Scădeți și atribuiți$a -=4
*=Împărțiți și atribuiți$a /=4
*=Înmulțiți și atribuiți$a *=4
%=Modul și Atribuire$a%=4

Exemple de operatori de atribuire PHP

Am atribuit valoarea din dreapta operandului din stânga cu operatorul egal.

$a = 20;

Am atribuit suma variabilelor din stânga și din dreapta variabilei cu operatorul de adăugare și atribuire.

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

Cu operatorul scădere și atribuire, am atribuit rezultatul scăderii valorii variabilei din dreapta din valoarea variabilei din stânga variabilei.

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

Cu operatorul împărțire și atribuire, am atribuit variabilei rezultatul de câte ori valoarea variabilei din stânga poate fi împărțită la valoarea variabilei din dreapta.

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

Cu operatorul de înmulțire și atribuire, am atribuit variabilei rezultatul înmulțirii a două valori variabile.

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

Folosind modulul și operatorii de atribuire, am atribuit variabilei restul când valoarea variabilei din stânga a fost împărțită la valoarea variabilei din dreapta.

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

Operatori de comparare PHP

Operatorii de comparare PHP sunt utilizați pentru a compara două valori.

operatornumeexemplu
==Egale$a == $b
===echivalent$a === $b
!=Nu este egal (nu este egal)$a != $b
!==Nu identice$a !== $b
<>Nu este egal (nu este egal)$a <> $b
>Mai mare decât$a > $b
<Mai puțin decât$a < $b
>=Mai mare sau egal cu$a >= $b
<=Mai mic sau egal cu (mai mic sau egal cu)$a <= $b

Exemple de operatori de comparare PHP

Am verificat egalitatea a două valori cu operatorul egal.

$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

Am verificat echivalența a două valori cu operatorul identic.

$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

Am verificat inegalitatea a două valori cu operatorul nu egal.

$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

Am verificat inegalitatea a două valori cu operatorul nu identic.

$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

Am verificat inegalitatea a două valori cu operatorul nu egal.

$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

Am verificat dacă valoarea din stânga a fost mai mare decât valoarea din dreapta cu operatorul mai mare decât.

$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

Am verificat dacă valoarea din stânga a fost mai mică decât valoarea din dreapta cu operatorul mai puțin decât.

$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

Am verificat dacă valoarea din stânga este mai mare sau egală cu valoarea din dreapta cu operatorul mai mare sau egal cu.

$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

Am verificat dacă valoarea din stânga este mai mică sau egală cu valoarea din dreapta cu operatorul mai mic sau egal cu.

$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

Operatori de creștere/decrementare PHP

Operatorii de increment PHP sunt utilizați pentru a crește valoarea unei variabile. Operatorii de decrementare PHP sunt utilizați pentru a scădea valoarea unei variabile.

operatornume
++$iCrește înainte (pre-increment)
$i++După creștere (post-increment)
--$iScădere înainte (pre-scădere)
$i--După scădere (post-decrementare)

PHP Increment Decrement Operator Exemple

Operatorul de pre-incrementare mai întâi crește valoarea variabilei $i și apoi returnează variabila $i.

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

Apoi operatorul post-increment returnează variabila $i, apoi incrementează valoarea variabilei $i.

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

Operatorul de pre-decrementare mai întâi scade valoarea variabilei $i și apoi returnează variabila $i.

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

Apoi operatorul post-decrementare returnează variabila $i, apoi decrește valoarea variabilei $i.

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

Operatori logici PHP

Operatorii logici PHP sunt utilizați pentru a combina expresii condiționate.

operatornumeexemplu
jurământși (și)$a și $b
sausau (sau)$a sau $b
xorxor$a xor $b
&&și (și)$a && $b
||sau (sau)$a || $b
!nu (notă)$a! $b

Exemple de operatori logici PHP

Și operatorul (și) returnează adevărat dacă condiția din $a și $b este îndeplinită.

$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

Operatorul sau (sau) returnează adevărat dacă condiția din $a sau $b este îndeplinită.

$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

Și operatorul (și) returnează adevărat dacă condiția din $a și $b este îndeplinită.

$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

Operatorul sau (sau) returnează adevărat dacă condiția din $a sau $b este îndeplinită.

$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

Operatorul xor returnează adevărat numai dacă este îndeplinită condiția din $a sau $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

Operatorul not returnează true dacă condiția din $a nu este îndeplinită.

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

Operatori de text PHP (Operatori șiruri)

PHP are 2 operatori proiectați pentru texte:
Operator de concatenare și operator de alocare a concatenării.

operatornumeexemplu
.Operator de concatenare$a . $b
.=Operator de atribuire a concatenării$a .= $b

Exemple de operatori de text PHP

Operatorul de concatenare combină două date. În exemplul de mai jos, am combinat datele variabilelor $a și $b și le-am imprimat.

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

Operatorul de atribuire a concatenării adaugă a doua date lângă primele date. În exemplul de mai jos, am adăugat datele variabilei $b lângă datele variabilei $a și am tipărit variabila $a.

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

Operatori PHP Array

Operatorii de matrice în PHP sunt utilizați pentru a compara matrice.

operatornumeexemplu
+Operator sindical (sindicat)$a + $b
==Operator de egalitate (egalitate)$a == $b
===Operator de echivalență (identitate)$a === $b
!=Operator de inegalitate (inegalitate)$a != $b
<>Operator de inegalitate (inegalitate)$a <> $b
!==Operator de dezechilibru (neidentitate)$a !== $b

Exemple de operatori de matrice PHP

Operatorul de unire combină tablouri.

$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ı )

Operatorul de egalitate (equality) asigură controlul egalității în matrice. Putem afla dacă datele a două tablouri sunt egale sau nu cu operatorul de egalitate.

$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

Operatorul de identitate asigură controlul egalității în matrice. Putem afla dacă datele a două tablouri sunt echivalente cu operatorul de echivalență.

$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

Operatorul de inegalitate (inequality) asigură controlul inegalității în matrice. Putem afla că datele a două tablouri nu sunt egale cu operatorul de inegalitate.

$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

Operatorul de inegalitate (inequality) asigură controlul inegalității în matrice. Putem afla că datele a două tablouri nu sunt egale cu operatorul de inegalitate.

$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

Operatorul non-identity oferă control non-identity în matrice. Putem afla că datele a două tablouri nu sunt echivalente cu operatorul de inegalitate.

$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

Operatori PHP de atribuire condiționată

Operatorii PHP de atribuire condiționată sunt utilizați pentru a atribui o valoare bazată pe condiții.

operatornumeexemplu
?:Operator ternar (ternar)$a = expr1 ? expr2 : expr3
??Operator de coalescere nulă (coalisare nulă)$a = expr1 ?? expr2

Exemple de operatori de atribuire condiționată PHP

Operatorul ternar atribuie date condiționale. În exemplul de mai jos, am atribuit datele „neconectat” variabilei $status dacă condiția goală ($user) returnează adevărat și „conectat” dacă returnează 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.

Operatorul de coalescere nulă atribuie date condiționate. Dacă primele date există și nu sunt nule, valoarea lui $a este primele date. Dacă primele date nu există sau sunt nule, valoarea lui $a este a doua dată. În exemplul de mai jos, am atribuit datele „neconectat” variabilei $status dacă condiția goală ($user) returnează adevărat și „conectat” dacă returnează 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

Prioritatea operatorului PHP

Exemple de priorități ale operatorului

Ca și în matematică, operatorii din PHP au niște valori prioritare. Să înțelegem asta cu un exemplu.

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

În procesul de mai sus rezultatul va fi 13. Deoarece înmulțirea are prioritate față de adunare. Prin urmare, s-a efectuat mai întâi înmulțirea și apoi adunarea. Cu toate acestea, este posibil să se intervină în prioritatea de procesare.

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

În procesul de mai sus rezultatul va fi 16. Pentru că am prioritizat procesul de adăugare punându-l în paranteze. Prin urmare, s-a efectuat mai întâi adunarea, apoi s-a efectuat înmulțirea. Așa am intervenit în prioritatea tranzacției.

Tabelul priorităților operatorilor

În tabelul de mai jos, operatorii sunt listați în ordine de la cea mai mare prioritate la cea mai mică prioritate. Operatorii de pe aceeași linie au prioritate egală și ordinea în care vor fi tratați este decisă în timpul evaluării. Am inclus mai jos tabelul de precedență al tuturor operatorilor în PHP.

atribuireoperatori
(niciuna)clone new
(niciuna)**
din dreapta+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
din stângainstanceof
(niciuna)!
din stânga* / %
din stânga+ - .
din stânga<< >>
din stânga.
fără direcție< <= > >=
fără direcție== != === !== <> <=>
stânga&
din stânga^
din stânga|
din stânga&&
din stânga||
corect??
fără direcție? :
din dreapta= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(niciuna)yield from
(niciuna)yield
(niciuna)print
din stângaand
din stângaxor
din stângaor

Acest tabel este preluat de pe php.net. Sursa: https://www.php.net/manual/tr/language.operators.precedence.php