- Co to jest operator?
- Operatory arytmetyczne
- Operatory przypisania
- Operatory operacji bitowych
- Operatory porównania
- Operator kontroli błędów
- Operator wykonania
- Operatory inkrementacji i dekrementacji
- Operatory logiczne
- Operator łańcuchowy
Co to jest operator?
Operatory to najprościej mówiąc symbole, służące do operacji na zmiennych. Operatory dzielą się na:
- arytmetyczne – do operacji na liczbach,
- przypisania – do przypisywania zmiennym wartości,
- operacji bitowych,
- porównania – niezbędne do instrukcji warunkowych,
- kontroli błędów,
- wykonania – służące do uruchamiania zewnętrznych programów,
- inkrementacji i dekrementacji,
- logiczne,
- łańcucha znaków.
Operatory arytmetyczne
Są to najprostsze operacje matematyczne. Poniżej lista operatorów:
Przykład | Nazwa | Opis |
---|---|---|
$a + $b | dodawanie | Suma $a i $b |
$a – $b | odejmowanie | Różnica $a od $b |
$a * $b | mnożenie | Iloczyn $a i $b |
$a / $b | dzielenie | Iloraz $a przez $b |
$a % $b | dzielenie modulo | Reszta z dzielenia $a przez $b |
Operatory 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.
Ogólnie mówiąc, operand z lewej strony operatora „=” otrzymuje wartość wyrażenia stojącego po stronie prawej. Zmiennej można także przypisać wartość innej zmiennej: $b = 5; $a = $b; – zmienna $a przyjmie wartość 5.
Wartości te można przypisywać kaskadowo, przy czym wartości przypisywane będą od prawej do lewej, np.:
<? $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 łańcuchów znaków:
Przykład | Nazwa |
---|---|
$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 zostanie 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 ” dalszy ciąg” |
Operatory operacji bitowych
Operatory operacji bitowych pozwalają na przestawianie pojedynczych bitów zmiennych. Poniższa tabela przeznaczona jest dla osób, które miały już jakąkolwiek styczność z operacjami na bitach.
Przykład | Nazwa | Opis |
---|---|---|
$a & $b | Mnożenie bitowe | Ustawiane są bity, które są ustawione w obu zmiennych |
$a | $b | Suma bitowa | Ustawiane są bity, które są ustawione w jednej lub drugiej zmiennej |
$a ^ $b | Suma bitowa modulo 2 | Ustawiane są bity, które są ustawione w jednej lub drugiej zmiennej, ale nie w obu na raz |
~ $a | Negacja bitowa | Inwerter – ustawiane są bity, które nie są ustawione w zmiennej $a i odwrotnie. |
$a << $b | Przesunięcie w lewo | Przesuwa bity z $a o $b kroków w lewo (każdy krok oznacza pomnożenie przez 2) |
$a >> $b | Przesunięcie w prawo | Przesuwa bity z $a o $b kroków w prawo (każdy krok oznacza podzielenie przez 2) |
Operatory porównania
Operatory porównania są niezbędne do korzystania z instrukcji warunkowych. Zwracają one wartość TRUE (prawda – 1) lub FALSE (fałsz – 0).
Przykład | Nazwa | Opis |
---|---|---|
$a == $b | Równy | TRUE jeśli $a jest równe $b |
$a === $b | Identyczny | TRUE jeśli $a jest równe $b, i obydwa operandy są tego samego typu (tylko w PHP 4) |
$a != $b | Różny | TRUE jeśli $a nie jest równy $b |
$a !== $b | Nie identyczny | TRUE jeśli $a nie jest równy $b lub nie są tego samego typu (tylko w PHP 4) |
$a < $b | Mniejszy od | TRUE jeśli $a jest mniejszy od $b |
$a > $b | Większy od | TRUE jeśli $a jest większy od $b |
$a <= $b | Mniejszy lub równy | TRUE jeśli $a jest mniejszy lub równy $b |
$a >= $b | Większy lub równy | TRUE jeśli $a jest większy lub równy $b |
Operator kontroli błędów
Operatorem kontroli błędów w PHP jest znak małpy (@). Jeśli zostanie on postawiony przed wyrażeniem zwracającym wartość, to jakiekolwiek powiadomienia o błędach wygenerowane przez to wyrażenie nie zostaną wyświetlone. Operator @ może zostać postawiony przed zmiennymi, wywołaniami funkcji, instrukcjami include(), stałymi itp. Nie może natomiast poprzedzać definicji funkcji bądź klasy lub struktur kontrolnych (if, while, foreach) itp.
Należy pamiętać, że operator kontroli błędów @ wyłącza także powiadamianie o błędach krytycznych (przerywających wykonanie skryptu). Oznacza to, że należy liczyć się z sytuacją, w której skrypt przerwie działanie nie powiadamiając dlaczego.
Przykład użycia operatora @:
<? // Zamierzony błąd obsługi pliku $my_file = @file('nieistniejący_plik') or die("Błąd przy otwieraniu pliku."); // mechanizm ten działa dla wszystkich wyrażeń, nie tylko dla funkcji: $value = @$cache[$key]; // spowoduje niewyświetlenie powiadomienia, jeśli nie istnieje wpis // do tablicy o indeksie $key. ?>
Operator wykonania
Zawartość apostrofu wstecznego zostanie wykonana jako polecenie systemowe. Wynik polecenia zostanie zwrócony (tzn. nie zostanie wysłany do przeglądarki, a będzie dostępny do przypisania do zmiennej).
<? $wynik = `ls -al`; echo "$wynik"; ?>
Powyższy przykład spowoduje wyświetlenie zawartości bieżącego katalogu.
Operatory inkrementacji i dekrementacji
Operatory inkrementacji i dekrementacji występują w większości języków programowania. Służą do zmniejszenia lub zwiększenia wartości danej zmiennej o 1.
Każdy operator można stosować na dwa sposoby: preinkrementacja/predekrementacja – najpierw wartość zmiennej zostanie zmieniona, a później zwrócona lub postinkrementacja/postdekrementacja – najpierw zostanie zwrócona wartość zmiennej, a następnie wartość zmiennej zostanie zmieniona.
Przykład | Nazwa | Opis |
---|---|---|
++$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 |
W zrozumieniu zasad działania tych operatorów pomocny może być przykład.
<? echo "Preinkrementacja"; $a = 5; echo "Powinno być 6: " . ++$a . " \n"; echo "Powinno być 6: " . $a . " \n"; echo "Postinkrementacja"; $a = 5; echo "Powinno być 5: " . $a++ . " \n"; echo "Powinno być 6: " . $a . " \n"; echo "Predekrementacja"; $a = 5; echo "Powinno być 4: " . --$a . " \n"; echo "Powinno być 4: " . $a . " \n"; echo "Postdekrementacja"; $a = 5; echo "Powinno być 5: " . $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 | Opis |
---|---|---|
$a and $b | I | TRUE jeśli zarówno $a jak i $b są TRUE |
$a or $b | Lub | TRUE jeśli $a lub $b jest TRUE |
$a xor $b | Wyłącznie-Lub | TRUE jeśli $a lub $b jest TRUE, ale nie jednocześnie |
! $a | Nie | TRUE jeśli $a nie jest TRUE |
$a && $b | I | TRUE jeśli zarówno $a jak i $b są TRUE |
$a || $b | Lub | TRUE jeśli $a lub $b jest TRUE |
Więcej na temat wykorzystania tych operatorów znajdziesz w rozdziale dotyczącym warunków.
Operator łańcuchowy
Operator konkatenacji (’.’ – kropka) służy do łączenia kilku ciągów w jedną całość.
<? $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ę unikową, to znaczy przed niego wstawić znak odwrotnego ukośnika („\„).
Hosting stworzony dla WordPressa
Masz stronę WWW na WordPressie? My też uwielbiamy ten system dla stron internetowych. Dlatego stworzyliśmy hosting specjalnie dla jego użytkowników.