5. PHP jako kalkulator

Transkrypt

5. PHP jako kalkulator
KURS PHP
5. PHP JAKO KALKULATOR
Język PHP moŜe posłuŜyć nam jako kalkulator. Jedynym warunkiem, jaki musimy
spełnić, aby liczby połączone odpowiednimi znakami były kalkulowane jest nie umieszczenie
ich w cudzysłowach.
Operatory matematyczne występujące w języku PHP to:
•
+ - dodawanie
•
- - odejmowanie
•
- mnoŜenie
•
/ - dzielenie
•
. - symbol dziesiętny
•
( ) - grupowanie liczb
•
++ - zwiększenie wartości o jeden
•
-- - zmniejszenie wartości o jeden
Uwaga: jeŜeli w praktyce zamiast ładnych wyników ujrzymy dodatkowo komunikat:
Warning: Division by zero in d:\usr\apache\htdocs\html\index.php on line 2
oznacza to, Ŝe próbowaliśmy dzielić przez zero. Świetny początek...
Przykładowym zastosowaniem zdolności kalkulacyjnych języka PHP jest np.:
<?php
echo 47 * ( 5 + 2 ) + 2 / 31.2 - 1;
?>
JednakŜe najlepiej jest umieścić to wewnątrz zmiennej, do której odwołamy się w
instrukcji echo, tylko pamiętajmy o nie popełnieniu błędu, jakim moŜe być wstawienie
cudzysłowów.:
<?php
$zmienna = 47 * ( 5 + 2 ) + 2 / 31.2 - 1;
echo $zmienna;
?>
www.INFORMATYKA.cba.pl
KURS PHP
Uwaga: pamiętajmy, Ŝe przecinek nie jest symbolem uŜywanym w ułamkach
dziesiętnych.
Uwaga: w języku PHP do kalkulacji nie uŜywamy Ŝadnych nawiasów kwadratowych,
klamerek itp. JeŜeli chcemy uŜyć nawiasu w nawiasie, w nawiasie, w nawiasie uŜywamy do
nieskończoności nawiasów zwykłych np.:
<?php
echo 2 * (2 + (2 * 2)) + 2;
?>
Uwaga: spacje pomiędzy symbolami słuŜą wyłącznie do łatwiejszego przeglądania tekstu
istotom Ŝywym.
Uwaga: PHP zna kolejność rozwiązywania zadań – najpierw mnoŜenie z dzieleniem, o
nawiasach nic nie wspomnę, a następnie dodawanie i odejmowanie od lewej strony.
Jak zaokrąglić zbyt dokładny wynik
Pierwsze działania pokazały nam wynik, zbytnio dokładny 328.0641025641. Nadszedł
czas na poznanie pierwszej funkcji, której nie będziemy uŜywać jako instrukcji, a przy okazji
zobaczymy, jak zmienne wymieniają pomiędzy sobą dane:
<?php
$zmienna = 47 * ( 5 + 2 ) + 2 / 31.2 - 1;
$zmienna = round($zmienna);
echo $zmienna;
?>
W powyŜszym przykładzie widzimy, jak wartość zmiennej $zmienna, zanim zostanie
zastąpiona jest przekazywana do funkcji round(). Funkcja round() jest odpowiedzialna za
zaokrąglenie liczby. JeŜeli liczba jest pełna, funkcja nie robi nic specjalnego. JeŜeli pierwsza
cyfra po przecinku jest mniejsza niŜ 5 od cyfry odpada ogon po symbolu dziesiętnym wraz z
samą kropką, profesjonalniej liczba jest zaokrąglana w dół. JeŜeli pierwsza cyfra po przecinku
jest większa, lub równa 5 od cyfry odpada... ułamek, a wartość liczby powiększana jest o
jeden, profesjonalniej liczba jest zaokrąglana w górę.
W bardzo prosty sposób moŜemy obliczyć procent z danej liczby. JeŜeli nie wiemy, jak to
zrobić nie uŜywając znaczka % to podpowiem. Dzielimy liczbę, przez liczbę, z której procent
chcemy wyliczyć, a następnie mnoŜymy przez 100. Następnie w instrukcji echo musimy
www.INFORMATYKA.cba.pl
KURS PHP
umieścić wynik i dodać znaczek %. PoniŜszy skrypt takŜe zaokrągli liczbę, za pomocą
świeŜo poznanej juŜ nam funkcji round().
<?php
$procent = 131 / 412 * 100;
$procent = round($procent);
echo "$procent%";
?>
Uwaga: jak widzisz powyŜej, bez Ŝadnego odstępu jest pokazana zmienna $procent i sam
znaczek %. Jest to dozwolone, gdyŜ interpreter wie, Ŝe w zmiennej nie moŜe być takiego
znaku, ale jeŜeli np. chcielibyśmy wpisać tam jakąś literkę, bez spacji, ewentualnie innego
znaku nie poradzilibyśmy sobie. MoŜemy to obejść, umieszczając wewnątrz cudzysłowów,
apostrofy, w których jest sama zmienna np.:
<?php
$zmienna = "Tekst";
echo "Wartość zmiennej to: '$zmienna'%";
?>
Inkrementacja i dekrementacja
Teraz poznajmy dwa okropne słowa, jakimi są inkrementacja i dekrementacja.
Programiści starali się ułatwić pisanie kodów do maksimum. Pozostały jeszcze dwa
niewykorzystane operatory matematyczne. Nie wiem, czy nawet moŜna je tak nazwa, ale
niech juŜ zostanie. Pomyślmy, jak dodać, lub odjąć jeden od wcześniej ustalonej wartości.
Trudne to nie będzie:
<?php
$liczba = 100;
$liczba = $liczba - 1;
echo $liczba;
?>
JeŜeli chcemy dodać jedynkę, minus zamieniamy po prostu na plus. Ale co z
inkrementacją (++ i dekrementacją (--)? Oto i dwa przykłady prezentujące Xkrementacje
(inkrementacje / dekrementacje):
www.INFORMATYKA.cba.pl
KURS PHP
<?php
$liczba = 100;
$liczba--;
echo $liczba;
?>
<?php
$liczba = 100;
$liczba++;
echo $liczba;
?>
www.INFORMATYKA.cba.pl