Lekce 23 - Další matematické funkce v PHP
V minulé lekci, Logaritmus a Eulerovo číslo v PHP, jsme si ukázali funkce pro logaritmus a Eulerovo číslo v PHP.
V této lekci matematických funkcí si ukážeme další matematické funkce
v PHP. Ukážeme si například funkci pro absolutní hodnotu abs()
nebo zjištění maximální a minimální hodnoty max()
a
min()
.
abs()
Funkce abs()
nám vypočítá ze zadaného celého nebo
desetinného čísla absolutní hodnotu. Funkce má pouze jeden parametr,
kterým je naše celé nebo desetinné číslo. Návratová hodnota funkce je
závislá na datovém typu vstupní hodnoty. Pokud jsme například za parametr
funkce vložili celé číslo, návratová hodnota bude typu integer (celé
číslo). Ukažme si příklady:
echo( abs(-5) );
Zde naším vstupem je číslo -5
, ze kterého bude pomocí
funkce abs()
vypočtena absolutní hodnota. Absolutní hodnota
čísla -5
je 5
jako to známe už ze školy.
echo( abs(6.5) );
V tomto příkladu je výpočet absolutní hodnoty totožný, avšak oproti
předchozímu příkladu, kde návratová hodnota byla datového typu
integer, zde je návratová hodnota typu
float. Absolutní hodnota čísla 6.5
je stejná,
čili 6.5
.
max()
Funkce max()
ze sekvence čísel vybere největší z nich.
Čísla můžeme zadávat do pole (array) nebo jako jednotlivé parametry.
Výstupní hodnotou bude největší číslo ze sekvence čísel datového typu
integer
nebo float
. Ukažme si příklady:
echo( max(6, 5, 7, 10, 11, 0, 9, 2.5, 3.5, -1.5) );
Ze zadané sekvence čísel nám funkce max()
vybere to
největší. V tomto případě návratová hodnota je číslo 11
datového typu integer
.
$cisla = [9.25, 5, 8, 3, 9]; echo( max($cisla) );
Sekvence čísel může být zapsána také pomocí pole. Návratová hodnota
je 9.25
datového typu float
.
min()
Funkce min()
ze sekvence čísel vybere nejmenší z nich.
Čísla můžeme zadávat do pole (array) nebo jako jednotlivé parametry,
stejně jako u funkce max()
. Výstupní hodnotou bude nejmenší
číslo ze sekvence čísel datového typu integer
nebo
float
. Ukažme si příklady:
echo( min(-5, -3, 5, 3) );
Funkce min()
ze zadané sekvence čísel vybere nejmenší z
nich. Návratová hodnota je -5
datového typu
integer
.
$cisla = [-5.5, -1, 1, -9.5]; echo( min($cisla) );
Stejně jako u funkce max()
sekvence čísel může být
zapsána pomocí pole (array). Návratová hodnota je -9.5
datového typu float
.
pi()
Funkce pi()
nám vypíše číslo π (pí) na 13 desetinných
míst. Funkce nepřijímá žádný parametr. Namísto funkce pi()
lze využít konstantu M_PI
, která vrátí stejnou hodnotu čísla
Pí. Ukažme si příklady:
echo( pi() );
Na výstup dostaneme číslo Pí na 13 desetinných míst, tedy 3.1415926535898.
echo( M_PI );
Stejně v tomto případě dostaneme na výstup hodnotu čísla Pí na 13 desetinných míst.
pow()
Funkce pow()
nám vypočítá mocninu ze zadané hodnoty.
Přijímá celkem dva parametry, kde prvním z nich je základ mocniny
(mocnitel) a druhým parametrem je hodnota exponentu (mocněnec). Ukažme si
příklady:
echo( pow(5, 2) );
Zadaná hodnota v prvním parametru 5
bude umocněna hodnotou
druhého parametru 2
. Návratovou hodnotou bude celé číslo
25
datového typu integer
.
echo( pow(2.5, 3) );
Zde zadaná hodnota 2.5
bude umocněna hodnotou 3
.
Návratovou hodnotou bude číslo 15.625
datového typu
float
.
sqrt()
Funkce sqrt()
nám vypočítá druhou odmocninu ze zadané
hodnoty. Přijímá pouze jeden parametr, kterým je naše hodnota, která bude
umocněna. Ukažme si příklad:
echo( sqrt(25) );
Zadané číslo 25
bude odmocněno a na výstup dostaneme
hodnotu 5
datového typu float
.
intdiv()
Funkce intdiv()
je funkcí pro celočíselné dělení. Funkce
přijímá celkem dva parametry, prvním z nich je číslo k dělení
(dělenec), druhým je číslo, kterým dělíme (dělitel). Ukažme si
příklad:
echo( intdiv(10, 2) );
Číslo 10
je vyděleno číslem 2
. Návratová
hodnota funkce tedy bude 5
a datový typ je
integer
.
echo( intdiv(-4, 3.5) );
Číslo -4
je vyděleno číslem 3.5
. Návratová
hodnota funkce bude -1
. protože nebere ohled na desetinnou část.
Kdybychom jako druhý parametr zadali třeba číslo 3.9
, jde
stále o číslo 3
. Pokud bude druhé číslo větší než první,
např.:
echo( intdiv(-4, 46468) );
Bude výsledek vždy 0
. Dejte si pozor také na dělení nulou,
v tomto případě je vyhozena výjimka DivisionByZeroError
V následujícím kvízu, Kvíz - Goniometrie, Eulerovo číslo a logaritmy v PHP, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.