Funkce v PHP
Tip: Kódy si můžete vyzkoušet na PHP Playground.
Vestavěné PHP funkce
PHP obsahuje více než 1000 vestavěných funkcí pro nejčastější potřeby programátorů.
Přehled vestavěných PHP funkcí najdete např. na W3Schools.
Každou z vestavěných PHP funkcí, kterou potřebujete použít, je potřeba si nastudovat.
Např. funkci date si můžete nastudovat na W3Schools.com.
<?php
// Parametr 'N' vrací číslo dne v týdnu 1-7 (1=pondělí, 7=neděle)
echo date('N') . '<br>' ;
// Parametr 'w' vrací číslo dne v týdnu 0-6 (0=neděle, 6=sobota)
echo date('w') . '<br>' ;
// Parametr 'd. m. Y' vrací aktuální datum (DD. MM. RRRR)
echo date('d. m. Y') . '<br>' ;
// Parametr 'H:i:s' vrací aktuální čas (HH:MM:SS)
echo date('H:i:s') . '<br>' ;
// POZOR: Na php-play.dev je "anglický" čas, tj. o hodinu méně než v Čechách
?>
Jiná vestavěná funkce je např. sqrt() (druhá odmocnina).
<?php
// Parametr 4 se odmocní - vypíše se 2
echo sqrt(4) . '<br>' ;
// Parametr 9 se odmocní - vypíše se 3
echo sqrt(9) . '<br>' ;
// Parametr 2 se odmocní - vypíše se 1.4142135623731
echo sqrt(2) . '<br>' ;
?>Uživatelské funkce v PHP
Programátoři si tvoří vlastní funkce. Kvůli KISS a DRY.
Volají se stejně, jako funkce vestavěné (jménem a parametry).
Musíme jen PHP funkci nadefinovat příkazem function (podobně jako příkazem def v Pythonu).
A hodnotu, kterou má funkce sestavit / spočítat / vrátit (návratová hodnota), vracíme příkazem return.
Všimněte si také, že v definici funkce se parametry (zadání) pojmenovávají, nezadávají se hodnotou.
Píše se
-
function pozdrav($jmeno), -
NIKOLI
function pozdrav('Honzo').
Je to proto, že když funkci voláme, chceme vrátit hodnoty pro konkrétní zadání (parametry).
-
Např.
sqrt(4)nebodate('N').
Když ale funkci definujeme,
- nevíme, s jakou hodnotou se bude funkce volat,
- naopak chceme, aby funkce fungovala pro různá zadání (parametry);
proto se na parametr v definici funkce díváme jako na proměnnou.
- Při zavolání funkce musí parametry ve volání funkce odpovídat parametrům v definici funkce.
- Hodnoty parametrů ve volání funkce se přiřadí do proměnných v definici funkce.
Uživatelským funkcím se také říká "vlastní funkce" nebo UDF - User Defined Functions.
<?php
// Definice 2 uživatelských funkcí
// - Funkce pro vypsání pozdravu
function hezkyPozdrav($jmeno) {
return "Čuz pic, " . $jmeno . ".<br>";
}
// - Funkce pro vypsání toho, jak se mám
function mamSe($jak) {
return "Mám se fajn, " . $jak . ".<br>";
}
// Zavolání a výpis výše definovaných funkcí
echo hezkyPozdrav("Honzo") ;
// Řetězec "Honzo" se přiřadí do proměnné $jmeno z definice funkce hezkyPozdrav.
// Pak se provede kód z definice funkce:
// - vrátí se řetězec "Čuz pic, " . $jmeno . ".<br>"
// Řádek tedy vypíše do stránky "Čuz pic, Honzo.<br>"
echo mamSe("bomba") ;
// Řádek vypíše do stránky "Mám se fajn, bomba.<br>"
?>