23. diel - Ďalšie matematické funkcie v PHP
V minulej lekcii, Logaritmus a Eulerovo Číslo v PHP , sme si ukázali funkcie pre logaritmus a Eulerovo Číslo v PHP.
V tejto lekcii matematických funkcií si ukážeme ďalšie matematické
funkcie v PHP. Ukážeme si napríklad funkciu pre absolútnu hodnotu
abs()
alebo zistenie maximálnej a minimálnej hodnoty
max()
a min()
.
abs()
Funkcia abs()
nám vypočíta zo zadaného celého alebo
desatinného čísla absolútnu hodnotu. Funkcia má iba jeden parameter,
ktorým je naša celé alebo desatinné číslo. Návratová hodnota funkcie je
závislá na dátovom type vstupné hodnoty. Ak sme napríklad za parameter
funkcie vložili celé číslo, vrátená hodnota bude typu integer (celé
číslo). Ukážme si príklady:
echo( abs(-5) );
Tu naším vstupom je číslo -5
, z ktorého bude pomocou
funkcie abs()
vypočítaná absolútna hodnota. Absolútna hodnota
čísla -5
je 5
ako to poznáme už zo školy.
echo( abs(6.5) );
V tomto príklade je výpočet absolútnej hodnoty totožný, avšak oproti
predchádzajúcemu príkladu, kde návratová hodnota bola dátového typu
integer, tu je návratová hodnota typu float.
Absolútna hodnota čísla 6.5
je rovnaká, čiže
6.5
.
max()
Funkcia max()
zo sekvencie čísiel vyberie najväčší z nich.
Čísla môžeme zadávať do poľa (array) alebo ako jednotlivé parametre.
Výstupné hodnotou bude najväčší číslo zo sekvencie čísiel dátového
typu integer
alebo float
. Ukážme si príklady:
echo( max(6, 5, 7, 10, 11, 0, 9, 2.5, 3.5, -1.5) );
Zo zadanej sekvencie čísiel nám funkcie max()
vyberie to
najväčšie. V tomto prípade vrátená hodnota je číslo 11
dátového typu integer
.
$cisla = [9.25, 5, 8, 3, 9]; echo( max($cisla) );
Sekvencie čísiel môže byť zapísaná aj pomocou poľa. Návratová
hodnota 9.25
dátového typu float
.
min()
Funkcia min()
zo sekvencie čísiel vyberie najmenší z nich.
Čísla môžeme zadávať do poľa (array) alebo ako jednotlivé parametre,
rovnako ako pri funkcii max()
. Výstupné hodnotou bude najmenšie
číslo zo sekvencie čísiel dátového typu integer
alebo
float
. Ukážme si príklady:
echo( min(-5, -3, 5, 3) );
Funkcia min()
zo zadanej sekvencie čísiel vyberie najmenší z
nich. Návratová hodnota -5
dátového typu
integer
.
$cisla = [-5.5, -1, 1, -9.5]; echo( min($cisla) );
Rovnako ako pri funkcii max()
sekvencie čísiel môže byť
zapísaná pomocou poľa (array). Návratová hodnota -9.5
dátového typu float
.
pi()
Funkcia pi()
nám vypíše číslo π (pí) na 13 desatinných
miest. Funkcia neprijíma žiaden parameter. Namiesto funkcie pi()
možno využiť konštantu M_PI
, ktorá vráti rovnakú hodnotu
čísla Pí. Ukážme si príklady:
echo( pi() );
Na výstup dostaneme číslo Pí na 13 desatinných miest, teda 3.1415926535898.
echo( M_PI );
Rovnako v tomto prípade dostaneme na výstup hodnotu čísla Pí na 13 desatinných miest.
pow()
Funkcia pow()
nám vypočíta mocninu zo zadanej hodnoty.
Prijíma celkom dva parametre, kde prvým z nich je základ mocniny (exponent) a
druhým parametrom je hodnota exponentu (mocnenec). Ukážme si príklady:
echo( pow(5, 2) );
Zadaná hodnota v prvom parametra 5
bude umocnená hodnotou
druhého parametra 2
. Návratovú hodnotou bude celé číslo
25
dátového typu integer
.
echo( pow(2.5, 3) );
Tu zadaná hodnota 2.5
bude umocnená hodnotou 3
.
Návratovú hodnotou bude číslo 15.625
dátového typu
float
.
sqrt()
Funkcia sqrt()
nám vypočíta druhú odmocninu zo zadanej
hodnoty. Prijíma iba jeden parameter, ktorým je naša hodnota, ktorá bude
umocnená. Ukážme si príklad:
echo( sqrt(25) );
Zadané číslo 25
bude odmocnění a na výstup dostaneme
hodnotu 5
dátového typu float
.
intdiv()
Funkcia intdiv()
je funkciou pre celočíselné delenie. Funkcia
prijíma celkom dva parametre, prvým z nich je číslo k delenie (delenec),
druhým je číslo, ktorým delíme (deliteľ). Ukážme si príklad:
echo( intdiv(10, 2) );
Číslo 10
je vydelených číslom 2
. Návratová
hodnota funkcie teda bude 5
a dátový typ je
integer
.
echo( intdiv(-4, 3.5) );
Číslo -4
je vydelených číslom 3.5
. Návratová
hodnota funkcie bude -1
. pretože neberie ohľad na desatinnú
časť. Keby sme ako druhý parameter zadali potrebné číslo 3.9
,
ide stále o číslo 3
. Pokiaľ bude druhé číslo väčšie ako
prvý, napr .:
echo( intdiv(-4, 46468) );
Bude výsledok vždy 0
. Dajte si pozor aj na delenie nulou, v
tomto prípade je vyhodená výnimka DivisionByZeroError
V ďalšej lekcii, Zaokrúhľovania čísel v PHP , si ukážeme funkcie pre zaokrúhľovanie čísel v PHP. Ukážeme si funkcie ako floor (), ceil () či round ().