16-02-2023
W poprzednim artykule opisałam typy zmiennych. Teraz czas na operatory!
Dziś skupimy się na jednej grupie operatorów. Kolejne poznasz w następnych wpisach 😉
Operatory arytmetyczne
Dodawanie
<?php $variable = 1 + 2; echo $variable;
Dodawanie jak i pozostałe poniższe operacje możesz również wykonywać na zmiennych.
<?php $a = 1; $b = 2; $variable = $a + $b; echo $variable;
Ciekawostka
Co istotne w przypadku operacji na liczbach zmiennoprzecinkowych, wynik może Cię czasami zaskoczyć. Problem ten występuje niezależnie od języka programowania. Spójrz na poniższy przykład. Mamy tutaj dodawanie dwóch liczb 0.1 + 0.2. Spodziewamy się wyniku 0.3. Natomiast, gdy za pomocą funkcji number_format wyświetlimy 17 miejsc po przecinku to się okaże, że wartość to 0.30000000000000004 🤯 Na ten moment Twojej nauki nie jest to najważniejsza rzecz, ale warto mieć z tyłu głowy to, że operacje na liczbach zmiennoprzecinkowych mogą zaskoczyć. Jeśli chcesz się dowiedzieć więcej zachęcam do przeczytania tego artykułu.
<?php $variable = 0.1 + 0.2; echo number_format($variable, 17);
Odejmowanie
<?php $variable = 2 - 1; echo $variable;
Mnożenie
<?php $variable = 2 * 3; echo $variable;
Dzielenie
<?php $variable = 9 / 3; echo $variable;
Modulo
Jest to reszta z dzielenia. 10 Modulo 3 = 1.
<?php $variable = 10 % 3; echo $variable;
Potęgowanie
<?php $variable = 2 ** 3; echo $variable;
Ćwiczenia
1.1.
<?php $a = 1_000; $b = 15; $c = 95; $result = $a * $b / $c; echo $result;
1.2.
W zadaniu 1.1. po wyświetleniu $result powinna Ci się ukazać liczba ze sporą ilością miejsc po przecinku. W ramach tego zadania wykorzystaj funkcję number_format (wspomniałam o tej funkcji przy akapicie z dodawaniem ⬆) przy wyświetlaniu $result z zadania 1.1. tak, aby wyświetlone zostały tylko dwa miejsca po przecinku. W razie potrzeby możesz skorzystać z dokumentacji tej funkcji [dokumentacja].
1.3.
Napisz kod, który będzie wyliczał cenę netto przy założeniach, że koszulka kosztuje 40zł brutto, a stawka VAT wynosi 23%.
<?php $shirt = 40; $vat = 23; $vatAmount = ...
1.4.
Napisz kod, który ma za zadanie wygenerowanie sumy brutto oraz netto cen produktów znajdujących się w koszyku.
W koszyku znajduje się:
- 2 koszulki po 17zł brutto, VAT: 18%,
- 1 czapka po 40zł brutto, VAT: 23%,
- 5 par rękawiczek po 13zł brutto, VAT: 7%.
1.5.
Zadaniem Twoim jest napisanie programu, który wspomoże pracę w sklepach. Cel kodu to pomoc w wydawaniu reszty za zakupy. Kod powinien przyjmować kwotę odebraną od klienta w groszach, sumę produktów również w groszach, natomiast w wyniku (czyli kwotę którą należy oddać klientowi) powinien zwrócić kwotę podaną w złotówkach i groszach.
Przykładowo:
Klient daje osobie kasującej produkty 10000 groszy.
Klient kupuje produkty za 8515 groszy.
Kasjerka powinna wydać 14zł i 85 groszy.
Dla zwiększenia zrozumienia zadania przygotowałam poniższy kod. Twoim zadaniem jest tak go zmodyfikować, aby odpowiednio wyliczyć wartość dla zmiennej $rest, która reprezentuje kwotę w złotówkach i $restPennies, która reprezentuje kwotę w groszach.
<?php $givenMoneyByClient = 10000; $costOfProducts = 8515; $rest = 14; $restPennies = 85; echo "Kasjerka powinna oddać klientowi: {$rest}zł {$restPennies}/100 groszy.";