W tym wpisie omówię tematykę operatorów jakie używamy w PHP. Jeżeli znasz już inny język programowania i poniższe operatory wydają ci się znajome to masz dobre odczucia. Te same operatory używane są także w innych językach.
Co to są operatory?
Operatory to prawdopodobnie dla niektórych kolejne enigmatyczne hasło. Jednak w rzeczywistości nie jest to nic innego jak znaki takie jak „=”, „+”, ” -„. Z pewnością więc każdy je zna chociaż by z lekcji matematyki. W PHP mogą one jednak działać nieco inaczej. Dlatego warto im poświęcić chwilę, a z pewnością to zaprocentuje w przyszłości.
Dodawanie, odejmowanie…
W PHP znaki te często bywają wieloznaczne a różniące się zapisy różnią się między sobą.
Działanie | Równoznaczne | Rodzaj |
x = y | x = y | równanie / elementy są równe |
x += y | x = x + y | dodawanie do siebie elementów |
x -= y | x = x – y | odejmowanie |
x *= y | x = x * y | mnożenie |
x /= y | x = x / y | dzielenie |
x %= y | x = x % y | modulo (wyciągamy resztę) |
- Modulo – jest to reszta jaka pozostaje z dzielenia
Co to jest ta reszta?
Przykładowo:
12/5 = 2 reszta 2 (12 dzielimy przez 5) -> bo 5 razy 2 to 10 i brakuje jeszcze 2 by mieć 12.
Porównywanie ze sobą wartości
W PHP często musimy coś ze sobą porównywać, bardzo przydatne są przy tym operatory porównawcze.
Operator | Nazwa | Przykład | Opis |
== | równe | $x == $y | Zwróć wynik jeśli $x jest równe $y |
=== | identyczne | $x === $y | Zwróć wynik jeśli $x jest równe $y, i są tego samego typu |
!= | nie równe | $x != $y | Zwróć wynik jeśli $x jest nie są równe $y |
<> | nie równe | $x <> $y | Zwróć wynik jeśli $x jest nie są równe $y |
!== | nie identyczne | $x !== $y | Zwróć wynik jeśli $x jest nie są równe $y, albo nie są tego samego typu |
> | większe niż | $x > $y | Zwróć wynik jeśli $x jeśli jest większe niż $y |
< | mniejsze niż | $x < $y | Zwróć wynik jeśli $x jeśli jest mniejsze niż $y |
>= | większe lub równe | $x >= $y | Zwróć wynik jeśli $x jeśli jest większe niż lub równe $y |
<= | mniejsze lub równe | $x <= $y | Zwróć wynik jeśli $x jeśli jest mniejsze niż lub równe $y |
Zwiększanie / zmniejszanie licznika
Operatory zmieniające wartość zmiennej. Bardzo przydatne np. podczas tworzenia prostych pętli.
Operator | Nazwa | Opis |
++$x | preinkrementacja | Zwiększa $x o jeden, potem zwraca wartość $x |
$x++ | postinkrementacja | Zwraca $x, potem zwiększa $x o jeden |
–$x | predecrementacja | Zmniejsza $x o jeden, potem zwraca $x |
$x– | postdecrementacja | Zwraca $x, potem zmniejsza $x o jeden |
Trochę to brzmi dziwnie dlatego zamieściłam przykłady:
$x=3;
$y = ++$x; // wynik $y==4, $x==4
$y = $x++; //wynik $y==3, $x==4
$y = $x–; // $x==2, $y==3
$y = –$x; // $x==1, $y==1
Dużo lepiej operacje te można zrozumieć kiedy zaczyna się je stosować w praktyce. Co polecam! Do przetestowania licznika przyda się pętla np. IF, FOR.
Operatory logiczne
Kolejnym typem operatorów są operatory logiczne. Ich zadaniem jest również porównywanie pomiędzy sobą wartości zmiennych. Ich nazwy pokrywają się z bramkami logicznymi.
Operator | Nazwa | Przykład | Opis |
and | And | $x and $y | Prawda jeśli $x i $y są prawdziwe |
or | Or | $x or $y | Prawda jeśli $x lub $y są prawdziwe |
xor | Xor | $x xor $y | Prawda jeśli $x lub $y są prawdziwe, lub oba nie są |
&& | And | $x && $y | Prawda jeśli oba $x i $y są prawdziwe |
|| | Or | $x || $y | Prawda jeśli $x lub $y są prawdziwe |
! | Not | !$x | Prawda jeśli $x nie jest prawdziwe |
Łączenie ze sobą kilku zmiennych
W PHP można również pracować na ciągach znaków (tekstach, numerach) zwanych stringami.
Operator | Nazwa | Przykład | Opis |
. | łączenie | $txt1 . $txt2 | łączenie ze sobą $txt1 i $txt2 |
.= | przypisywanie | $txt1 .= $txt2 | Dokleja $txt2 do $txt1 |
Tablice z danymi
Nieco innym typem na którym można operować są tablice. Dla uproszczenia można je porównać do tabelki w której znajdują się odpowiednio kolumny i wiersze. Tak jak tabelka może posiadać wiele kolumn i wierszy tak tablica może być jedno wymiarowa (1 kolumna – wiele wierszy) lub wielo-wymiarowa (wiele kolumn – wiele wierszy).
Operator | Nazwa | Przykład | Opis |
+ | Union | $x + $y | związek of $x i $y |
== | Equality | $x == $y | Zwraca true (prawdę), jeśli $ x i $ y mają takie same pary klucz / wartości |
=== | Identity | $x === $y | Zwraca true, jeśli $ x i $ y mają takie same pary klucz / wartość w tej samej kolejności i z tych samych typów |
!= | Inequality | $x != $y | Zwraca true jeśli $x nie jest równe $y |
<> | Inequality | $x <> $y | Zwraca true jeśli $x nie jest równe $y |
!== | Non-identity | $x !== $y | Zwraca true jeśli $x nie jest identyczne z $y |
Źródło: