×
COOKIES
Prezeraním tejto stránky dochádza k spracovaniu cookies. Spracovaniu cookies zabránite v nastaveniach internetového prehliadača alebo nezobrazovaním tejto stránky v internetovom prehliadači.
Technologický web Mateja Lednára
Spoznávajte svet technológií

Vytvárame funkcie v jazyku PHP - časť 3

Posledná časť seriálu venovaná funkciám v jazyku PHP predstavuje ďalšie spôsoby vytvárania a volania funkcií a to prostredníctvom premennej a funkcie create_function(). Záver článku sa venuje príkazu return.

Volanie funkcie cez premennú

Funkciu je možné definovať ako zápis anonymnej (nepomenovanej funkcie), ktorý sa priradí premennej. Takto vytvorená premenná sa stáva platnou funkciou.
Príklad: Priradenie anonymnej funkcie premennej displayMessage.
1
2
3
4
5
$displayMessage = function ($name, $age) {
echo $name . "" . $age . " rokov." . "<br>";
};
$displayMessage("Matej" , 33);
Nasledujúci príklad volania funkcie cez premennú je založený na princípe priradenia hodnôt cez $$. Vďaka tomu premenná call_me reprezentuje identifikátor, ktorého názov je aktuálna hodnota premennej call_me.
Príklad: Volanie funkcie cez premennú.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function one() {
echo "One" . "<br>";
}
function two() {
echo "Two" . "<br>";
}
function three() {
echo "Three" . "<br>";
}
$my_functions = array("one", "two", "three");
foreach ($my_functions as $value) {
$call_me = $value;
$call_me();
}
Premenná call_me postupne nadobúda hodnoty poľa my_functions, ktoré sú platnými názvami existujúcich funkcií. Vďaka tomu sú postupne volané funkcie one, two a three.

Vytváranie funkcií cez funkciu create_function()

PHP podobne ako jazyk JavaScript umožňuje vytváranie funkcií cez vstavané funkcie. Pre tento účel slúži funkcia create_function(). Premenná, ktorej je vrátený výsledok funkcie, sa stáva platnou funkciou. Funkcia create_function() prijíma dva argumenty. Argumenty sú v podobe reťazcov. Prvým argumentom je zoznam parametrov funkcie oddelený od seba čiarkou, teda tak ako sa parametre uvádzajú v hlavičke funkcie. Druhým argumentom sú príkazy (telo) funkcie.
Príklad: Vytvorenie funkcie cez funkciu create_function().
1
2
3
4
$displayMessage = create_function('$name, $age',
'echo $name . "" . $age . " rokov." . "<br>";');
$displayMessage("Matej" , 33);
Vytváranie funkcií cez create_function() nie je vhodné používať. Obsah funkcie je neprehľadný a navyše je spracovávaný ďalšou funkciou.

Príkaz return

Príkaz return vo funkcii plní dve úlohy. Prvou z nich je predávanie výsledku funkcie. Druhou úlohou je predčasne ukončenie funkcie.
Príklad: Predčasné ukončenie funkcie - príkaz echo nebude vykonaný.
1
2
3
4
5
6
$displayMessage = function ($name, $age) {
return;
echo $name . "" . $age . " rokov." . "<br>";
};
$displayMessage("Matej" , 33);
Príkaz return môže byť zapísaný aj bez návratovej hodnoty. Jeho použitie okamžite ukončí vykonávanú funkciu a všetko čo je za príkazom return bude ignorované.
Príklad: Vrátenie hodnoty ako výsledku funkcie.
1
2
3
4
5
$displayMessage = function ($name, $age) {
return $name . "" . $age . " rokov." . "<br>";
};
echo $displayMessage("Matej" , 33);
Príklad: Vrátenie hodnoty ako výsledku funkcie.
1
2
3
4
5
6
$displayMessage = function ($name, $age) {
return $name . "" . $age . " rokov." . "<br>";
};
$returnedValue = $displayMessage("Matej" , 33);
echo $returnedValue;
Vrátenú hodnotu príkazom return je možné hneď spracovať alebo uložiť do premennej pre neskoršie spracovanie. Prvý príklad vrátenia hodnoty demonštruje okamžité spracovanie vrátenej hodnoty, to znamená, že vrátený reťazec je hneď zobrazený v internetovom prehliadači. Druhý príklad vrátenia hodnoty demonštruje uloženie vrátenej hodnoty do premennej $returnedValue a neskoršie spracovanie.

Záver

Týmto článkom bol ukončený seriál venovaný funkciám v jazyku PHP. Dúfam, že čitateľ v ňom našiel všetky potrebné informácie pre prácu s funkciami.
PHP,programovanie,PHP,function
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších