5.6. Operatory

Operatory arytmetyczne

+     Dodawanie dwóch liczb.

-     Odejmowanie jednej liczby od drugiej.

*     Mnożenie dwóch liczb przez siebie.

/     Dzielenie jednej liczby przez drugą.

%     Reszta z dzielenia jednej liczby przez drugą (modulo).

Listing 5.6.1.

<HTML>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <HEAD>
        <TITLE>
            Zastosowanie stałych w PHP
        </TITLE>
    </HEAD>
        <BODY>
            <H1>Operatory arytmetyczne</H1> 
			<?php
				echo "5 + 2 = ", 5+2, "<BR>";
				echo "5 - 2 = ", 5-2, "<BR>";
				echo "5 * 2 = ", 5*2, "<BR>";
				echo "5 / 2 = ", 5/2, "<BR>";
				echo "5 % 2 = ", 5%2, "<BR>";
		    ?>
        </BODY>
</HTML>

Tak wygląda efekt działania powyższego skryptu

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. Zmiennej można przypisać także wartość innej zmiennej: $b = 5; $a = $b; – zmienna $a przyjmie wartość 5.

Operator przypisania można łączyć z operatorami:

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.

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.

Listing 5.6.2.

<HTML>
    <HEAD>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <TITLE>
            Inkrementacja i dekrementacja
        </TITLE>
    </HEAD>
    <BODY>
        <H1>
            Inkrementacja i dekrementacja
       </H1>
<?php
	echo "\$a = \$b = \$c = \$d = 1<BR>";
    $a = $b = $c = $d = 1;
    echo "\$a++ daje wynik ", $a++, "<BR>";
    echo "++\$b daje wynik ", ++$b, "<BR>";
    echo "\$c-- daje wynik ", $c--, "<BR>";
    echo "--\$d daje wynik ", --$d, "<BR>";
?>
    </BODY>
</HTML>

Tak wygląda efekt działania powyższego skryptu