Spis treści

 

 

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\.