Ako na to  |  Príručka PHP  |  Funkcie

Funkcia je uložená sada príkazov, ktorá má svoje meno a môžeme ju vykonávať. PHP ich samo o sebe ponúka obrovské množstvo. Okrem toho si môžeme vytvoriť vlastné funkcie, čo sa dnes tiež naučíme.

Užívateľské funkcie

Vytvoríme si jednoduchú funkciu. Bude sa volať pozdrav a jej úlohou bude vypísať slovo Zdravím.

function pozdrav() {
 echo "Zdravím";
}

Teraz ju zavoláme.

pozdrav(); // vypíše: Zdravím

Parametre

My však chceme, aby naša funkcia podporovala rôzne pozdravy. Využijeme tzv. parameter funkcie - ten určuje, ako sa funkcia bude správať. Píšeme ho do zátvoriek.

/* definícia funkcie */
function pozdrav($text) {
 echo $text;
}

/* volanie funkcie - vypíše Čau */
pozdrav("Čau");

/* volanie funkcie - vypíše Nazdar */
pozdrav("Nazdar");

Parametrov môže byť aj viac - vtedy ich oddeľujeme čiarkami.

/* definícia funkcie */
function pozdrav($text, $meno) {
 echo "$text, $meno!";
}

/* volanie funkcie s 2 parametrami */
pozdrav("Ahoj", "Jano"); // vypíše: Ahoj, Jano!

Niektoré parametre môžu byť nepovinné. Užívateľ ich nemusí pri volaní zadať. Použijú sa hodnoty, ktoré určí tvorca funkcie.

/* funkcia s nepovinným parametrom meno */
function pozdrav($text, $meno = "Jožo") {
 echo "$text, $meno!";
}

pozdrav("Dobrý deň", "pán Mrkvička");
// výsledok: Dobrý deň, pán Mrkvička!

pozdrav("Dobrý deň");
// výsledok: Dobrý deň, Jožo!

Za nepovinným parametrom však nemôžu nasledovať žiadne povinné.

Ako parameter sa dá použiť i premenná:

$vecer = "Dobrý večer";
pozdrav($vecer);

Ak chceme obsah takýchto premenných upravovať, musíme použiť tzv. referenciu - dáme pred nich znak &.

function pridaj_otaznik(&$retazec) {
 $retazec .= '?';
}

$text = "Rečnícka otázka";
pridaj_otaznik($text);
echo $text; // vypíše: Rečnícka otázka?

Funkcie vracajúce hodnotu

Funkcia môže kľúčovým slovom return vrátiť hodnotu - väčšinou je to spracovaný výsledok alebo číslo chyby. Teraz napríklad chceme, aby sa výsledný pozdrav v našej funkcii nevypísal, ale aby sme s ním mohli ďalej pracovať.

function pozdrav($meno) {
 $oslovenie = "Vitaj";
 return "$oslovenie, $meno!";
}

$vysledok = pozdrav("Eva");
$vysledok[0] = "v";
echo "Tak $vysledok";
// vypíše: Tak vitaj, Eva!

Premenné funkcie

Toto je skôr na doplnenie znalostí: PHP podporuje volanie funkcií, kde ako ich názov uvediete premennú. Viac v príklade:

function prva() {
 echo "Prvá funkcia.";
}

function druha() {
 echo "Druhá funkcia.";
}

$premenna = "prva";
$premenna(); // zavolá prvú funkciu

$premenna = "druha";
$premenna(); // zavolá druhú funkciu

Vstavané funkcie PHP

PHP obsahuje veľké množstvo vstavaných funkcií - napr. na prácu s reťazcami, časom, súbormi, databázou; matematické, sieťové funkcie a podobne.

Niektoré sú jeho neoddeliteľnou súčasťou, kvôli iným je nutné pridať do PHP knižnicu. Nejaké knižnice sú k PHP tiež pribalené.

Napríklad funkcia strrev vráti prevrátený reťazec daný parametrom.

echo strrev("bla bla");
// vypíše: alb alb

Funkcia strtoupper zas vráti reťazec napísaný veľkými písmenami.

echo strtoupper("bla bla");
// vypíše: BLA BLA

Vnorené funkcie

Ako sa dá vypísať text, ktorý bude najprv prevrátený a potom premenený na veľké písmená? Najjednoduchší spôsob je „vnorenie funkcií do seba“:

echo strtoupper(strrev("bla bla"));
// vypíše ALB ALB

Podobne môžeme pracovať s akýmikoľvek funkciami

   








Home | Ako na to | Na stiahnutie | Tipy a triky | Diskusné fórum | Profesionálny webdesign | Kontakt
 
 




ISTUDIO webdesign & programming