Stránky neboli dlhú dobu aktualizované. Môžu obsahovať nepresné alebo neaktuálne informácie.
Používaním tejto stránky súhlasíte s používaním cookies.
Hľadanie
Rozšírené vyhľadávanie
TOP 7 - stránky
Napaľovacie programy - 104 969x
Free Pascal - Úvod - 59 080x
Free Pascal - Začiatky - 38 814x
Lazarus - Kreslenie - 36 781x
Internetové prehliadače - 32 371x
3D grafické programy - 31 652x
Free Pascal - Podmienky - 30 305x
Nové v diskusii
Free Pascal - Cykly - štvrtok 31.3.
Lazarus - Začíname - piatok 25.3.
Anketa - streda 2.3.
Navigácia: Tvorba Webu > PHP - Funkcie

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

Spájanie funkcií

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.

Hodnotenie
1 2 3 4 5 (ako v škole)
Priemerná známka: 2,35
Diskusia k tejto stránke Je to v podstate rekurzívny glob, nájdeš to medzi ...
Prejsť do diskusie»
2005-2012, Matúš Sulír, matus.sulir (zav) gmail bodka com. Gen.: 0,0578 s. Valid XHTML, CSS.