PHP - Operatori


Što su operateri u PHP-u?

Operatori su simboli koji govore PHP engine-u da izvrši određene radnje. Na primjer: simbol dodavanja (+) je operator koji govori PHP-u da doda dvije varijable ili vrijednosti, dok je simbol veći od (>) operator koji govori PHP-u da uporedi dvije vrijednosti. Sljedeće liste opisuju različite operatore koji se koriste u PHP-u.

Operator Opis Primjer Rezultat
+ Sabiranje $x + $y Zbroj $ x i $ y
- Oduzimanje $x - $y Oduzmi $ x i $ y
* Množenje $x * $y Pomnoži $ x i $ y
/ Djeljenje $x / $y Podjeli $ x i $ y
% Ostatak $x % $y Ostatak $ x podijeljen sa $ y

Sljedeći primjer će vam pokazati aritmetičke operatere na djelu:

<?php
$x = 10;
$y = 4;

echo($x + $y); // Ispisuje: 14
echo($x - $y); // Ispisuje: 6
echo($x * $y); // Ispisuje: 40
echo($x / $y); // Ispisuje: 2.5
echo($x % $y); // Ispisuje: 2
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Aritmetički operatori</title>
</head>
<body>

<?php
$x = 10;
$y = 4;

echo($x + $y); // Ispisuje: 14
echo($x - $y); // Ispisuje: 6
echo($x * $y); // Ispisuje: 40
echo($x / $y); // Ispisuje: 2.5
echo($x % $y); // Ispisuje: 2
?>

</body>
</html>


Operatori dodjele u PHP-u

Operatori dodjele koriste se za dodjeljivanje vrijednosti varijablama.

Operator Opis Primjer Da li su isti
= Dodaj $x = $y $x = $y
+= Saberi i dodaj $x += $y $x = $x + $y
-= Oduzmi i dodaj $x -= $ $x = $x - $y
*= Pomnoži i dodaj $x *= $y $x = $x * $y
/= Podjeli i dodaj $x /= $y $x = $x / $y
%= Uzmi ostatak pri djeljenju i dodaj $x %= $y $x = $x % $y

Sljedeći primjer će vam pokazati operatore dodjele na djelu:

<?php
$x = 10;
echo $x; // Ispisuje: 10
 
$x = 20;
$x += 30;
echo $x; // Ispisuje: 50
 
$x = 50;
$x -= 20;
echo $x; // Ispisuje: 30
 
$x = 5;
$x *= 25;
echo $x; // Ispisuje: 125
 
$x = 50;
$x /= 10;
echo $x; // Ispisuje: 5
 
$x = 100;
$x %= 15;
echo $x; // Ispisuje: 10
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP operatori dodjele</title>
</head>
<body>

<?php
$x = 10;
echo $x; // Ispisuje: 10
 
$x = 20;
$x += 30;
echo $x; // Ispisuje: 50
 
$x = 50;
$x -= 20;
echo $x; // Ispisuje: 30
 
$x = 5;
$x *= 25;
echo $x; // Ispisuje: 125
 
$x = 50;
$x /= 10;
echo $x; // Ispisuje: 5
 
$x = 100;
$x %= 15;
echo $x; // Ispisuje: 10
?>

</body>
</html>


Operatori poređenja u PHP-u

Operatori poređenja se koriste za upoređivanje dviju vrijednosti na buolov (Boolean) način.

Operator Ime Primjer Pravilo
== Jednako $x == $y Tačno ako je $x jednak $y
=== Identično $x === $y Tačno ako je $x jednak $y, a oni su istog tipa
!= Nisu jednaki $x != $y Tačno ako je $x nije jednak $y
<> Nisu jednaki $x <> $y Tačno ako je $x nije jednak $y
!== Nisu identični $x !== $y Tačno ako je $x nije jednak $y, ili nisu istog tipa
< Manje $x < $y Tačno ako je $x manji od $y
> Veće $x > $y Tačno ako je $x veće od $y
>= Veće ili jednako $x >= $y Tačno ako je $x veći ili jednak $y
<= Manje ili jednako $x <= $y Tačno ako je $x manji od ili jednak $y

Sljedeći primjer će vam pokazati operatore poređenja na djelu:

<?php
$x = 25;
$y = 35;
$z = "25";

var_dump($x == $z);  // Ispisuje: boolean true
var_dump($x === $z); // Ispisuje: boolean false
var_dump($x != $y);  // Ispisuje: boolean true
var_dump($x !== $z); // Ispisuje: boolean true
var_dump($x < $y);   // Ispisuje: boolean true
var_dump($x > $y);   // Ispisuje: boolean false
var_dump($x <= $y);  // Ispisuje: boolean true
var_dump($x >= $y);  // Ispisuje: boolean false
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Operatori poređenja</title>
</head>
<body>

<?php
$x = 25;
$y = 35;
$z = "25";

var_dump($x == $z);  // Ispisuje: boolean true
var_dump($x === $z); // Ispisuje: boolean false
var_dump($x != $y);  // Ispisuje: boolean true
var_dump($x !== $z); // Ispisuje: boolean true
var_dump($x < $y);   // Ispisuje: boolean true
var_dump($x > $y);   // Ispisuje: boolean false
var_dump($x <= $y);  // Ispisuje: boolean true
var_dump($x >= $y);  // Ispisuje: boolean false
?>

</body>
</html>


Inkrement (Incrementing) i dekrement (Decrementing) operatori u PHP-u

Operatori incrementing / decrementing koriste se za povećanje / smanjenje vrijednosti varijable.

Operator Ime Efekat
++$x Pre-increment Povećava se $x za jedan, a zatim vraća $x
$x++ Post-increment Vraća $x, a zatim uvećava $x za jedan
--$x Pre-decrement Smanjivanje $x za jedan, a zatim vraća $x
$x-- Post-decrement Vraća $x, a zatim smanjuje $x za jedan

Sljedeći primjer će vam pokazati operatore povećanja i smanjenja (Incrementing i Decrementing) na djelu:

<?php
$x = 10;
echo ++$x; // Ispisuje: 11
echo $x;   // Ispisuje: 11
 
$x = 10;
echo $x++; // Ispisuje: 10
echo $x;   // Ispisuje: 11
 
$x = 10;
echo --$x; // Ispisuje: 9
echo $x;   // Ispisuje: 9
 
$x = 10;
echo $x--; // Ispisuje: 10
echo $x;   // Ispisuje: 9
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Operatori inkrement i dekrement</title>
</head>
<body>

<?php
$x = 10;
echo ++$x; // Ispisuje: 11
echo $x;   // Ispisuje: 11
 
$x = 10;
echo $x++; // Ispisuje: 10
echo $x;   // Ispisuje: 11
 
$x = 10;
echo --$x; // Ispisuje: 9
echo $x;   // Ispisuje: 9
 
$x = 10;
echo $x--; // Ispisuje: 10
echo $x;   // Ispisuje: 9
?>

</body>
</html>


PHP Logički operatori

Logični operatori se obično koriste za kombinovanje uslovnih izraza.

Operator Ime Primjer Pravilo
and And $x and $y Tačno ako su i $x i $y tačni
or Or $x or $y Tačno ako je $x ili $y tačan
xor Xor $x xor $y Tačno ako su $x ili $y tačni, , ali ne i jedno i drugo
&& And $x && $y Tačno ako su i $x i $y tačni
|| Or $x || $y Tačno ako je $x ili $y tačan
! Not !$x Tačno ako $x nije tačan

Sledeći primjer će vam pokazati logičke operatore na dijelu:

<?php
$year = 2019;

// Prestupna godina dijeli se sa 400 ili 4, ali ne sa 100
if(($year % 400 == 0) || (($year % 100 != 0) && ($year % 4 == 0))){
    echo "$year je prestupna godina.";
} else{
    echo "$year nije prestupna godina.";
}
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Logički operatori</title>
</head>
<body>

<?php
$year = 2019;

// Prestupna godina dijeli se sa 400 ili 4, ali ne sa 100
if(($year % 400 == 0) || (($year % 100 != 0) && ($year % 4 == 0))){
    echo "$year je prestupna godina.";
} else{
    echo "$year nije prestupna godina.";
}
?>

</body>
</html>


PHP String Operatori

Postoje dva operatera koji su posebno dizajnirani za stringove.

Operator Ime Primjer Pravilo
. Concatenation $str1 . $str2 Spajanje $str1 i $str2
.= Concatenation assignment $str1 .= $str2 Dodaje $str2 na $str1

Sljedeći primjer će vam pokazati operatore stringova na djelu:

<?php
$x = "Hello";
$y = " World!";
echo $x . $y; // Ispisuje: Hello World!
 
$x .= $y;
echo $x; // Ispisuje: Hello World!
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP String operatori</title>
</head>
<body>

<?php
$x = "Hello";
$y = " World!";
echo $x . $y; // Ispisuje: Hello World!
 
$x .= $y;
echo $x; // Ispisuje: Hello World!
?>

</body>
</html>


PHP Array (Nizovi) operatori

Operatori niza koriste se za upoređivanje nizova:

Operator Ime Primjer Pravilo
+ Ujedinjeni $x + $y Ujedini $x i $y
== Jednaki $x == $y Tačno ako $x i $y imaju iste parove ključ / vrijednost
=== Identični $x === $y Tačno ako $x i $y imaju iste parove ključ / vrijednost istim redosljedom i iste vrste
!= Nejednaki $x != $y Tačno ako $x nije jednak $y
<> Ograničenja nejednakosti $x <> $y Tačno ako $x nije jednak $y
!== Ne-identični $x !== $y Tačno ako $x nije identičan $y

Sljedeći primjer će vam pokazati array operatore na djelu:

<?php
$x = array("a" => "Crvena", "b" => "Zelena", "c" => "Plava");
$y = array("u" => "Žuta", "v" => "Narandžasta", "w" => "Roza");
$z = $x + $y; // Unija $x i $y

var_dump($z);
var_dump($x == $y);   // Ispisuje: boolean false
var_dump($x === $y);  // Ispisuje: boolean false
var_dump($x != $y);   // Ispisuje: boolean true
var_dump($x <> $y);   // Ispisuje: boolean true
var_dump($x !== $y);  // Ispisuje: boolean true
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Array operatori</title>
</head>
<body>

<?php
$x = array("a" => "Crvena", "b" => "Zelena", "c" => "Plava");
$y = array("u" => "Žuta", "v" => "Narandžasta", "w" => "Roza");
$z = $x + $y; // Unija $x i $y

var_dump($z);
var_dump($x == $y);   // Ispisuje: boolean false
var_dump($x === $y);  // Ispisuje: boolean false
var_dump($x != $y);   // Ispisuje: boolean true
var_dump($x <> $y);   // Ispisuje: boolean true
var_dump($x !== $y);  // Ispisuje: boolean true
?>

</body>
</html>


PHP Spaceship Operatori PHP7

PHP7 predstavlja novi operator svemirskog broda (Spaceship) (<=>) koji se može koristiti za upoređivanje dva izraza. Poznat je i kao kombinovani operator za upoređivanje. Operator (Spaceship) vraća 0 ako su obe operande jednaka, 1 ako je lijevi veći i -1 ako je desni veći. U osnovi pruža trosmjerno upoređivanje kao što je prikazano u sljedećoj tabeli:

Operator <=> Ekvivalentno
$x < $y ($x <=> $y) === -1
$x <= $y ($x <=> $y) === -1 || ($x <=> $y) === 0
$x == $y ($x <=> $y) === 0
$x != $y ($x <=> $y) !== 0
$x >= $y ($x <=> $y) === 1 || ($x <=> $y) === 0
$x > $y ($x <=> $y) === 1

Sledeći primjer će vam pokazati operater svemirskog broda (Spaceship) na djelu:

<?php
// Upoređivanje cijelih brojeva (Integers) 
echo 1 <=> 1; // Ispisuje: 0
echo 1 <=> 2; // Ispisuje: -1
echo 2 <=> 1; // Ispisuje: 1
 
// Upoređivanje decimalnih brojeva (Floats)
echo 1.5 <=> 1.5; // Ispisuje: 0
echo 1.5 <=> 2.5; // Ispisuje: -1
echo 2.5 <=> 1.5; // Ispisuje: 1
 
// Upoređivanje stringova (Strings)
echo "x" <=> "x"; // Ispisuje: 0
echo "x" <=> "y"; // Ispisuje: -1
echo "y" <=> "x"; // Ispisuje: 1
?>
Pogledajmo kako koristiti primjer u praksi:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>PHP Spaceship operatori</title>
</head>
<body>

<?php
// Upoređivanje cijelih brojeva (Integers) 
echo 1 <=> 1; // Ispisuje: 0
echo 1 <=> 2; // Ispisuje: -1
echo 2 <=> 1; // Ispisuje: 1
 
// Upoređivanje decimalnih brojeva (Floats)
echo 1.5 <=> 1.5; // Ispisuje: 0
echo 1.5 <=> 2.5; // Ispisuje: -1
echo 2.5 <=> 1.5; // Ispisuje: 1
 
// Upoređivanje stringova (Strings)
echo "x" <=> "x"; // Ispisuje: 0
echo "x" <=> "y"; // Ispisuje: -1
echo "y" <=> "x"; // Ispisuje: 1
?>

</body>
</html>