Spis treści
- Co to jest?
- Operatory arytmetyczne
- Operator przypisania
- Operatory operacji bitowych
- Operatory porównania
- Operator kontroli błędów
- Operator wywołania
- Operatory inkrementacji i dekrementacji
- Operatory logiczne
- Operator ciągu
Co to jest?
Operatory są to najprościej mówiąc symbole, które służą do operacji na zmiennych. Operatory dzielą się na operatory arytmetyczne, które służą do operacji na liczbach, operatory przypisania służące do przypisywania zmiennym wartości, operatory operacji bitowych, operatory porównania niezbędne do instrukcji warunkowych, operator kontroli błędów, operator wykonania służący do uruchamiania zewnętrznych programów, operatory inkrementacji i dekrementacji, operatory logiczne i operatory ciągu.
Operatory arytmetyczne
Operatory te każdy powinien pamiętać z podstawówki 🙂
Przykład | Nazwa | Wynik |
$a + $b | Dodawanie | Suma $a i $b. |
$a – $b | Odejmowanie | Różnica $a i $b. |
$a * $b | Mnożenie | Iloczyn $a i $b. |
$a / $b | Dzielenie | Iloraz $a i $b (bez reszty). |
$a % $b | Modulo | Reszta z dzielenia $a przez $b. |
Operator przypisania
Podstawowym operatorem przypisania jest symbol '=’. Oczywiście nie oznacza on 'jest równe’. Wyrażenie $b = 5 oznacza, że zmienna $b przyjmuje wartość równą 5. Zmiennej można przypisać także wartość innej zmiennej: $b = 5; $a = $b; – zmienna $a przyjmie wartość 5.
Zmiennym można przypisywać nie tylko konkretne wartości, ale też wartości innych zmiennych. Wartości te można przypisywać kaskadowo, przy czym wartości przypisywane będą od prawej do lewej, np.:
<?php $nazwa = $inna_nazwa = $trzecia_nazwa = 5; ?>
W tym wypadku wszystkim zmiennym zostanie przypisana wartość 5. Operator przypisania można łączyć z operatorami arytmetycznymi i operatorem łączenia ciągów:
Przykład | Wynik |
$a += 2 | Do zmiennej $a dodane zostanie 2 |
$a -= 2 | Od zmiennej $a odjęte zostanie 2 |
$a *= 2 | Zmienna $a zostanie pomnożona przez 2 |
$a /= 2 | Zmienna $a dodane podzielona przez 2 |
$a %= 2 | Zmienna $a przyjmie wartość reszty z dzielenia $a przez 2 |
$a .= ” dalszy ciąg” | Do zmiennej $a na końcu dodany zostanie ciąg ” dalszy ciąg” |
Operatory operacji bitowych
Operatory operacji bitowych pozwalają na przestawianie pojedyńczych bitów zmiennych. Poniższa tabelka przeznaczona jest dla osób, które miały już jakąkolwiek styczność z operacjami na bitach.
Przykład | Nazwa | Wynik |
$a & $b | AND | Ustawiane są bity które są ustawione w obu zmiennych. |
$a | $b | OR | Ustawiane są bity, które są ustawione w jednej lub drugiej zmiennej. |
$a ^ $b | XOR | Ustawiane są bity, które są ustawione w jednej lub drugiej zmiennej, ale nie w obu. |
~ $a | NOT | Inwerter – ustawiane są bity które nie są ustawione w zmiennej $a i odwrotnie. |
$a << $b | Przesunięcie w lewo | Przesuń bity z $a $b-razy w lewo (każdy krok oznacza pomnożenie przez 2) |
$a >> $b | Przesunięcie w prawo | Przesuń bity z $a $b-razy w prawo (każdy krok oznacza podzielenie przez 2) |
Operatory porównania
Operatory porównania są niezbędne do korzystania z instrukcji warunkowych (jeśli coś to zrób coś). Zwracają one wartość TRUE (prawda – 1) lub FALSE (fałsz – 0).
Przykład | Nazwa | Wynik |
$a == $b | Równy | Prawda jeśli $a jest równe $b. |
$a === $b | Identyczny | Prawda jeśli $a jest równe $b i są tego samego typu. (tylko PHP4) |
$a != $b | Nie równe | Prawda jeśli $a nie jest równe $b. |
$a !== $b | Nie identyczny | Prawda jeśli $a nie jest równe $b lub nie są tego samego typu. (tylko PHP4) |
$a < $b | Mniejsze | Prawda jeśli $a jest mniejsze niż $b. |
$a > $b | Większe | Prawda jeśli $a jest większe niż $b. |
$a <= $b | Mniejsze lub równe | Prawda jeśli $a jest mniejsze lub równe $b. |
$a >= $b | Większe lub równe | Prawda jeśli $a jest większe lub równe $b. |
Operator kontroli błędów
Operator kontroli błędów (’@’) powoduje, że wyrażenie przed którym postawiono ten znak nie spowoduje wyświetlenia się jakiegokolwiek błędu lub ostrzeżenia.
Przykład 3.1. Przykład użycia operatora kontroli błędów
<?php /* Jeden z najczęstszych błędów SQL (za dużo o jeden apostrof) */ $res = @mysql_query ("select nazwa, kod from 'lista") or die ("Zapytanie się nie powiodło: błąd to '$php_errormsg'"); ?>
Operator wywołania
Operator ten służy do uruchamiania zewnętrznych programów lub poleceń powłoki. Wystarczy wpisać polecenie pomiędzy znaki odwróconego apostrofu (’`’) aby zostało ono wykonane.
Przykład 3.2. Przykład użycia operatora wywołania
<?php $wynik = `ls -l /home/`; echo $wynik; ?>
Po uruchomieniu tego skryptu wyświetlona zostanie zawartość katalogu /home na serwerze.
Operatory inkrementacji i dekrementacji
Operatory te występują w większości języków programowania. Służą one do zmniejszenia lub zwiększenia wartości danej zmiennej o 1. Każdy operator można stosować na 2 sposoby: preinkrementacja/predekrementacja – najpierw wartość zmiennej zostanie zmieniona, a później zwrócona, lub postinkrementacji/postdekrementacji – najpierw zostanie zwrócona wartość zmiennej, a następnie wartość zmiennej zostanie zmieniona.
Przykład | Nazwa | Wynik |
++$a | Preinkrementacja | Zwiększa $a o jeden, a następnie zwraca $a. |
$a++ | Postinkrementacja | Zwraca $a, a następnie zwiększa $a o jeden. |
–$a | Predekrementacja | Zmniejsza $a o jeden, po czym zwraca $a. |
$a– | Postdekrementacja | Zwraca $a, po czym zmniejsza $a o jeden. |
Przykład 3.3. Przykład funkcjonowania inkrementacji i dekrementacji
<?php echo "Postinkrementacja"; $a = 5; echo "Powinno być 5: " . $a++ . "\n"; echo "Powinno być 6: " . $a . "\n"; echo "Preinkrementacja"; $a = 5; echo "Powinno być 6: " . ++$a . "\n"; echo "Powinno być 6: " . $a . "\n"; echo "Postdekrementacja"; $a = 5; echo "Powinno być 5: " . $a-- . "\n"; echo "Powinno być 4: " . $a . "\n"; echo "Predekrementacja"; $a = 5; echo "Powinno być 4: " . --$a . "\n"; echo "Powinno być 4: " . $a . "\n"; ?>
Operatory logiczne
Operatory logiczne służą do budowania bardziej skomplikowanych instrukcji warunkowych – do łączenia kilku warunków w jednej instrukcji.
Przykład | Nazwa | Wynik |
$a && $b | AND | Prawda, jeśli $a i $b są prawdą |
$a || $b | OR | Prawda, jeśli $a lub $b są prawdą |
! $a | NOT | Prawda, jeśli $a nie jest prawdą |
Operator ciągu
Operator ciągu (’.’ – kropka) służy do łączenia kilku ciągów w jedną całość.
Przykład 3.4. Przykład użycia operatora ciągu
<?php $zmienna1 = "Wartość zmiennej 'zmienna2' to"; $zmienna2 = 5; echo $zmienna1." ".$zmienna2; // Powinno się wyświetlić: // "Wartość zmiennej 'zmienna2' to 5" ?>
Jak widać na tym przykładzie, aby użyć niektórych znaków (między innymi cudzysłowów jeśli ciąg podany jest cudzysłowach, znaków dolara jeśli nie chcemy aby został potraktowany jako zmienna) trzeba zamienić go na tzw. sekwencję escape, to znaczy wstawić przed nim znak backslash – \.