U ovoj lekciji naučit ćemo o PHP operatorima. Objasnili smo sve operatore i područja njihove upotrebe u PHP-u potpuno i detaljno, s primjerima.

Znakovi ili riječi koji izvode operacije između jedne ili više vrijednosti nazivaju se operatori ili operatori. Engleska riječ za operatora je operator, a na turskom je poznata kao operator. Međutim, neki izvori ga spominju kao operatera. Oba nose isto značenje.

PHP operatori

PHP aritmetički operatori

PHP aritmetički operatori koriste se s numeričkim vrijednostima za izvođenje uobičajenih aritmetičkih operacija kao što su zbrajanje, oduzimanje, množenje.

operatorimeprimjer
+zbrajanje$a + $b
-Oduzimanje$a - $b
*Množenje$a * $b
/podjela$a / $b
%Modul (modul)$a % $b

Primjeri PHP aritmetičkih operatora

Operatorom zbrajanja zbrajamo 2 vrijednosti. U ovom smo primjeru koristili php operator dodavanja:

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

Operatorom oduzimanja oduzimamo jednu vrijednost od druge. U ovom smo primjeru koristili php operator oduzimanja:

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

Operatorom dijeljenja dijelimo jednu vrijednost drugom vrijednošću. U ovom smo primjeru upotrijebili php split operator:

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

Operatorom množenja množimo jednu vrijednost drugom vrijednošću. U ovom smo primjeru koristili php operator množenja:

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

Operatorom modula nalazimo ostatak kada jednu vrijednost podijelimo s drugom vrijednošću. U ovom smo primjeru koristili operator php modula:

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

PHP operatori dodjele

PHP operatori dodjele koriste se za dodjelu vrijednosti.

operatorimeprimjer
=Dodjela$a = $b
+=Prikupiti i odbaciti$a +=4
-=Oduzmi i dodijeli$a -=4
*=Podijeli i dodijeli$a /=4
*=Pomnoži i dodijeli$a *=4
%=Moduliraj i dodijeli$a%=4

Primjeri PHP operatora dodjele

Vrijednost s desne strane dodijelili smo lijevom operandu s operatorom jednakosti.

$a = 20;

Zbroj lijeve i desne varijable dodijelili smo varijabli s operatorom zbrajanja i dodjeljivanja.

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

S operatorom oduzimanja i dodjele varijabli smo dodijelili rezultat oduzimanja vrijednosti varijable s desne strane od vrijednosti varijable s lijeve strane.

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

S operatorom dijeljenja i dodjele varijabli smo dodijelili rezultat koliko se puta vrijednost varijable s lijeve strane može podijeliti s vrijednošću varijable s desne strane.

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

S operatorom množenja i dodjele, varijabli smo dodijelili rezultat množenja dvije vrijednosti varijable.

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

Pomoću operatora modula i dodjele varijabli smo dodijelili ostatak kada je vrijednost varijable s lijeve strane podijeljena s vrijednošću varijable s desne strane.

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

PHP operatori usporedbe

PHP operatori za usporedbu koriste se za usporedbu dviju vrijednosti.

operatorimeprimjer
==Jednako$a == $b
===ekvivalentan$a === $b
!=Nije jednako (nije jednako)$a != $b
!==Nije identično$a !== $b
<>Nije jednako (nije jednako)$a <> $b
>Veći od$a > $b
<Manje od$a < $b
>=Veće ili jednako$a >= $b
<=Manje od ili jednako (manje od ili jednako)$a <= $b

Primjeri PHP operatora za usporedbu

Provjerili smo jednakost dviju vrijednosti operatorom jednakosti.

$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

Provjerili smo ekvivalentnost dviju vrijednosti s identičnim operatorom.

$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

Provjerili smo nejednakost dviju vrijednosti s operatorom not equal.

$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

Provjerili smo nejednakost dviju vrijednosti s neidentičnim operatorom.

$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

Provjerili smo nejednakost dviju vrijednosti s operatorom not equal.

$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

Provjerili smo je li vrijednost s lijeve strane veća od vrijednosti s desne strane pomoću operatora veće od.

$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

Provjerili smo je li vrijednost s lijeve strane manja od vrijednosti s desne s operatorom manje od.

$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

Provjerili smo je li vrijednost s lijeve strane veća ili jednaka vrijednosti s desne strane pomoću operatora veće ili jednako.

$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

Provjerili smo je li vrijednost s lijeve strane manja ili jednaka vrijednosti s desne strane s operatorom manje ili jednako.

$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 operatori inkrementa/dekrementa

PHP operatori povećanja koriste se za povećanje vrijednosti varijable. PHP operatori smanjivanja koriste se za smanjivanje vrijednosti varijable.

operatorime
++$iPovećaj prije (prethodno povećanje)
$i++Nakon povećanja (naknadno povećanje)
--$iSmanjenje prije (prethodno smanjenje)
$i--Nakon smanjenja (naknadno smanjenje)

PHP inkrement dekrement operator primjeri

Operator predinkrementiranja prvo povećava vrijednost varijable $i, a zatim vraća varijablu $i.

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

Zatim operator postinkrementiranja vraća varijablu $i, zatim povećava vrijednost varijable $i.

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

Operator preddekrementiranja prvo smanjuje vrijednost varijable $i, a zatim vraća varijablu $i.

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

Zatim operator postdekrementiranja vraća varijablu $i, zatim smanjuje vrijednost varijable $i.

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

PHP logički operatori

PHP logički operatori koriste se za kombiniranje uvjetnih izraza.

operatorimeprimjer
zakletvai (i)$a i $b
iliili (ili)$a ili $b
xorxor$a xili $b
&&i (i)$a && $b
||ili (ili)$a || $b
!ne (napomena)$a! $b

Primjeri PHP logičkih operatora

Operator (i) vraća true ako je uvjet u $a i $b zadovoljen.

$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

Operator ili (ili) vraća true ako je ispunjen uvjet u $a ili $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

Operator (i) vraća true ako je uvjet u $a i $b zadovoljen.

$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

Operator ili (ili) vraća true ako je ispunjen uvjet u $a ili $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

Operator xor vraća true samo ako je ispunjen uvjet u $a ili $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

Operator not vraća true ako uvjet u $a nije ispunjen.

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

PHP tekstualni operatori (string operatori)

PHP ima 2 operatora dizajnirana za tekstove:
Operator ulančavanja i operator dodjele ulančavanja.

operatorimeprimjer
.Operator ulančavanja$a . $b
.=Operator dodjeljivanja ulančavanja$a .= $b

Primjeri PHP tekstualnih operatora

Operator ulančavanja kombinira dva podatka. U donjem primjeru kombinirali smo podatke varijabli $a i $b i ispisali ih.

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

Operator dodjele ulančavanja dodaje drugi podatak uz prvi podatak. U donjem primjeru dodali smo podatke varijable $b uz podatke varijable $a i ispisali varijablu $a.

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

PHP operatori polja

Operatori nizova u PHP-u koriste se za usporedbu nizova.

operatorimeprimjer
+Sindikat operater (sindikat)$a + $b
==Operator jednakosti (jednakost)$a == $b
===Operator ekvivalencije (identitet)$a === $b
!=Operator nejednakosti (nejednakost)$a != $b
<>Operator nejednakosti (nejednakost)$a <> $b
!==Operator neravnoteže (neidentitet)$a !== $b

Primjeri PHP operatora polja

Operator unije kombinira nizove.

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

Operator jednakosti (jednakost) osigurava kontrolu jednakosti u nizovima. Operatorom jednakosti možemo saznati jesu li podaci dvaju nizova jednaki ili ne.

$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

Operator identiteta osigurava kontrolu jednakosti u nizovima. Operatorom ekvivalencije možemo saznati jesu li podaci dvaju nizova ekvivalentni.

$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

Operator nejednakosti (nejednakost) osigurava kontrolu nejednakosti u nizovima. Možemo saznati da podaci dva niza nisu jednaki pomoću operatora nejednakosti.

$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

Operator nejednakosti (nejednakost) osigurava kontrolu nejednakosti u nizovima. Možemo saznati da podaci dva niza nisu jednaki pomoću operatora nejednakosti.

$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

Operator bez identiteta pruža kontrolu bez identiteta u nizovima. Možemo saznati da podaci dvaju nizova nisu ekvivalentni s operatorom nejednakosti.

$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 operatori uvjetne dodjele

PHP-ovi operatori uvjetne dodjele koriste se za dodjelu vrijednosti na temelju uvjeta.

operatorimeprimjer
?:Ternarni operator (ternary)$a = izraz1? izraz2 : izraz3
??Null Coalescing operator (null coalescing)$a = izraz1 ?? izraz2

Primjeri PHP operatora uvjetne dodjele

Ternarni operator dodjeljuje uvjetne podatke. U donjem primjeru dodijelili smo podatak "not logged in" varijabli $status ako prazan($user) uvjet vraća true, i "prijavljen" ako vraća 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.

Operator spajanja nule dodjeljuje uvjetne podatke. Ako prvi podatak postoji i nije null, vrijednost $a je prvi podatak. Ako prvi podatak ne postoji ili je null, vrijednost $a je drugi podatak. U donjem primjeru dodijelili smo podatak "not logged in" varijabli $status ako prazan($user) uvjet vraća true, i "prijavljen" ako vraća 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

Prioritet PHP operatera

Primjeri prioriteta operatera

Kao iu matematici, operatori u PHP-u imaju neke prioritetne vrijednosti. Shvatimo ovo na primjeru.

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

U gornjem procesu izlaz će biti 13. Zato što množenje ima prednost nad zbrajanjem. Stoga je prvo izvršeno množenje, a zatim zbrajanje. Međutim, moguće je intervenirati u prioritetu obrade.

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

U gornjem procesu izlaz će biti 16. Budući da smo dali prioritet procesu zbrajanja stavljajući ga u zagrade. Dakle, prvo je izvršeno zbrajanje, a zatim množenje. Ovako smo intervenirali u prioritet transakcija.

Tablica prioriteta operatera

U donjoj tablici operatori su navedeni redom od najvišeg do najnižeg prioriteta. Operatori na istoj liniji imaju jednak prioritet, a redoslijed kojim će se s njima rukovati odlučuje se tijekom evaluacije. U nastavku smo uključili tablicu prioriteta svih operatora u PHP-u.

atribucijaoperateri
(ništa)clone new
(ništa)**
s desna+ - ++ -- ~ (int) (float) (string) (array) (object) (bool) @
slijevainstanceof
(ništa)!
slijeva* / %
slijeva+ - .
slijeva<< >>
slijeva.
bez smjera< <= > >=
bez smjera== != === !== <> <=>
lijevo&
slijeva^
slijeva|
slijeva&&
slijeva||
desno??
bez smjera? :
s desna= += -= *= **= /= .= %= &= |= ^= <<= >>= ??=
(ništa)yield from
(ništa)yield
(ništa)print
slijevaand
slijevaxor
slijevaor

Ova tablica je preuzeta sa php.net. Izvor: https://www.php.net/manual/tr/language.operators.precedence.php