Back to Top

Czego nauczysz się po ćwiczeniu 3 - operatory

  • wykorzystania zmiennych typu boolean

  • poznasz operatory

Link do ćwiczenia 3 - operatory

Operatory w PHP

Operator jest symbolem określającym konkretną czynność wykonywaną na zmiennych. Przykładem mogą być operacje arytmetyczne, jak np. dodawanie do siebie dwóch zmiennych. Oprócz operatorów arytmetycznych mamy do dyspozycji również inne operatory.

Wszystkie typy operatorów można podzielić na operatory:

  • arytmetyczne

  • przypisania

  • porównania

  • logiczne

Operatory arytmetyczne

Służą do wykonywania arytmetycznych operacji matematycznych.

Dostępne są następujące operatory: +, -, *, /, %. Jedynym nowym operatorem może być % (modulo). Jest to operator który wylicza resztę z dzielenia. Przykładowo, jeśli chcemy dowiedzieć się ile wynosi reszta z dzielenia liczby 10 na 4, 4 na 5 i 16 na 3 to piszemy w kodzie:

// Operator modulo
$modulo = 10 % 4; 
$modulo = 4 % 5;
$modulo = 16 % 3;

Operatory przypisania

Służą do przypisania zmiennej jakiejś wartości. Stosowaliśmy już je we wcześniejszych ćwiczeniach, a teraz jedynie poznamy dodatkowe, skrótowe zapisy. Te skrótowe zapisy są często stosowane w programowaniu, więc należy je poznać.

Wszystkie dostępne operatory prezentują się następująco:

  • =, przypisuje wartość do zmiennej

  • +=, jednocześnie dodaje i przypisuje

  • -=, jednocześnie odejmuje i przypisuje

  • *=, j/w tylko z mnożeniem

  • /=, j/w tylko dzielenie

  • %=, j/w tylko reszta z dzielenia

Dla przykładu postaraj się odgadnąć co ostatecznie znajdzie się w zmiennej $number po wykonaniu następujących operacji przypisania:

// Operatory przypisania
$number = 10; 
$number += 5; 
$number -= 3; 
$number *= 2; 
$number /= 2; 
$number %= 5;

//var_dump($number);

Operatory porównania

Służą do sprawdzenia, czy zmienne są sobie równe. Można porównać zarówno wartość jak i typ zmiennej. Służą do tego celu następujące operatory:

  • ==, czy wartości po obu stronach są równe

  • !=, czy wartości po obu stroną są różne

  • <>, j/w

W poprzednim zadaniu nauczyliśmy się jak sprawdzić typ zmiennej i jej zawartość używając komendy var_dump().

Operatory porównania, które umożliwiają takie sprawdzenie 2 zmiennych prezentują się następująco:

  • ===, czy wartości są równe i są tego samego typu

  • !==, czy wartości są różne zarówno pod względem typu i wartości

Wynikiem działania operatorów równości jest wartości logiczna (boolean) true lub false. Jeśli chcemy wyświetlić tą wartość, musimy użyć var_dump(), ponieważ instrukcja echo wyświetli nam jedynie odpowiednik liczbowy danego typu logicznego. Oznacza to, że jeśli wyświetlimy echo True; naszym oczom ukaże się liczba 1. Jeśli wykonamy polecenie echo False; to nic nie zobaczymy.

// Operatory porównania

$A = 5; 
$B = 9;
$C = 5;

// Operatory porównania zwracają TRUE lub FALSE więc używamy komendy var_dump()
var_dump( $A == $B ); 
var_dump( $A != $B ); 
var_dump( $A == $C );
var_dump( $A === $C );

Operatory logiczne

Służą do tworzenia wyrażeń logicznych z wyrażeń mających wartości typu logicznego (true lub false). Funkcjonują zgodnie z zasadami logiki matematycznej.

W PHP dostępne są operatory logiczne takie jak:

  • && (AND) – prawda, jeżeli obie strony są prawdą

  • || (OR) – prawda, jeżeli chociaż jedna z stron jest prawdą

  • ! (NOT) – zaprzeczenie, zmienia wartość logiczną na przeciwną

//Operatory logiczne
$a = true;
$b = false;

var_dump( $a && $b );
var_dump( $a AND $b );

var_dump( $a || $b );
var_dump( $a OR $b );

var_dump( ! $a );

Zadanie 1

Utwórz dwie zmienne o nazwach $first, $second. Przypisz do nich dwie różne wartości logiczne jakie znasz (true i false). Porównaj je za pomocą operatora ==, a wynik porównania zapisz do trzeciej zmiennej o nazwie $isFirstEqualsSecond. Użyj komendy var_dump() aby sprawdzić wynik. Zmień wartość zmiennej second na przeciwną i ponownie sprawdź wynik. Ustaw obie zmienne na wartość false i ponownie sprawdź wynik. Sprawdź co się stanie, jeśli komendę var_dump zamienisz na komendę echo.

Zadanie 2

Utwórz trzy zmienne o nazwach $nr1, $nr2, $resultModulo. Dwie niech przechowują dowolne liczby całkowite. Trzecia o nazwie $resultModulo niech przechowuje liczbę 0. Oblicz resztę z dzielenia (modulo) tych liczb ($nr1 modulo $nr2) i zapisz wynik w zmiennej $resultModulo. Wypisz zmienną $resultModulo w konsoli za pomocą komendy echo().

Zadanie 3

Przećwicz zadanie 2 na kilku liczbach.

W jaki sposób sprawdzić, czy wartość zapisana w zmiennej $nr1 jest parzysta?

Odpowiedź zapisz w komentarzu pod zadaniem.