Programowanie Główna arrow php arrow Operatory


Operatory

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ładNazwaWynik
$a + $bDodawanieSuma $a i $b.
$a - $bOdejmowanieRóżnica $a i $b.
$a * $bMnożenieIloczyn $a i $b.
$a / $bDzielenieIloraz $a i $b.
$a % $bModuloReszta 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.:

<?
$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ładWynik
$a += 2Do zmiennej $a dodane zostanie 2
$a -= 2Od zmiennej $a odjęte zostanie 2
$a *= 2Zmienna $a zostanie pomnożona przez 2
$a /= 2Zmienna $a dodane podzielona przez 2
$a %= 2Zmienna $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ładNazwaWynik
$a & $bANDUstawiane są bity które są ustawione w obu zmiennych.
$a | $bORUstawiane są bity, które są ustawione w jednej lub drugiej zmiennej.
$a ^ $bXORUstawiane są bity, które są ustawione w jednej lub drugiej zmiennej, ale nie w obu.
~ $aNOTInwerter - ustawiane są bity które nie są ustawione w zmiennej $a i odwrotnie.
$a << $bPrzesunięcie w lewoPrzesuń bity z $a $b-razy w lewo (każdy krok oznacza pomnożenie przez 2)
$a >> $bPrzesunięcie w prawoPrzesuń 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ładNazwaWynik
$a == $bRównyPrawda jeśli $a jest równe $b.
$a === $bIdentycznyPrawda jeśli $a jest równe $b i są tego samego typu. (tylko PHP4)
$a != $bNie równePrawda jeśli $a nie jest równe $b.
$a !== $bNie identycznyPrawda jeśli $a nie jest równe $b lub nie są tego samego typu. (tylko PHP4)
$a < $bMniejszePrawda jeśli $a jest mniejsze niż $b.
$a > $bWiększePrawda jeśli $a jest większe niż $b.
$a <= $bMniejsze lub równePrawda jeśli $a jest mniejsze lub równe $b.
$a >= $bWiększe lub równePrawda 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.

<?
/* 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 ''");
?>

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, np.

<?

$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ładNazwaWynik
++$aPreinkrementacjaZwiększa $a o jeden, a następnie zwraca $a.
$a++PostinkrementacjaZwraca $a, a następnie zwiększa $a o jeden.
--$aPredekrementacjaZmniejsza $a o jeden, po czym zwraca $a.
$a--PostdekrementacjaZwraca $a, po czym zmniejsza $a o jeden.

W zrozumieniu zasad działania tych operatorów pomocny może być ten przykład:

<?
echo "<h3>Postinkrementacja

";
$a = 5;
echo "Powinno być 5: " . $a++ . "<br>\n";
echo "Powinno być 6: " . $a . "<br>\n";

echo "<h3>Preinkrementacja ";
$a = 5;
echo "Powinno być 6: " . ++$a . "<br>\n";
echo "Powinno być 6: " . $a . "<br>\n";

echo "<h3>Postdekrementacja ";
$a = 5;
echo "Powinno być 5: " . $a-- . "<br>\n";
echo "Powinno być 4: " . $a . "<br>\n";

echo "<h3>Predekrementacja ;";
$a = 5;
echo "Powinno być 4: " . --$a . "<br>\n";
echo "Powinno być 4: " . $a . "<br>;\n";
?>

 

Operatory logiczne

Operatory logiczne służą do budowania bardziej skomplikowanych instrukcji warunkowych - do łączenia kilku warunków w jednej instrukcji.

PrzykładNazwaWynik
$a && $bANDPrawda, jeśli $a i $b są prawdą
$a || $bORPrawda, jeśli $a lub $b są prawdą
! $aNOTPrawda, jeśli $a nie jest prawdą

Operator ciągu

Operator ciągu ('.' - kropka) służy do łączeniia 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ę escape, to znaczy wstawić przed nim znak backslash - "\"


site copyright © http://www.e-kursy.com
limousine service chicago Airport | dziękuję | pc | bez limitu | kamerki internetowe
Wierszyki życzenia teksty sms | Angielski | transport | Pozycjonowanie stron Kraków | Noclegi w górach | Nurkowanie Poznań | Katowice | Akcesoria GSM | Zakopane Hotele | Typy Bukmacherskie