PHP5 jednoduše, snadno a rychle (10.) - funkce
Publikováno 10 Srpen 2008, Petr Láslo
Něco o funkcích v PHP
Co je to funkce?
Funkce je několik příkazů a deklarací, které slouží stejnému účelu. Proto se tyto společné příkazy a deklarace kódují společně a mají společné jméno, což umožní jejich opakované použití bez opakování kódu samotného. Do funkce lze předat vstupní hodnoty. Funkce je zpracuje a vrátí výslednou hodnotu. Vstupním hodnotám se říká argumenty nebo též parametry.
Vytvoření funkce
Funkci nejprve nadefinujeme takto:
function jmenoFunkce ($prvniParamter, $druhyParamter… další parametry) {
… libovolný PHP kód …
return $vysledek;
}
Takové funkce, které jsme si sami vytvořili, jsou uživatelsky definované funkce. PHP má též své vlastní vestavěné funkce, které máme k dispozici, aniž bychom je museli definovat.
Funkce vyžaduje předání vstupních hodnot za jménem funkce v závorkách. Nelze jednoduše nadefinovat proměnnou kdekoliv ve skriptu, protože nebude z funkce přístupná. Je ale možné mít 2 různé proměnné stejného jména. Například můžeme definovat proměnnou $mojeProměnná v jiné části skriptu a potom definovat ve funkci jinou proměnnou, která se bude také jmenovat $mojeProměnná. Tohle ovšem obvykle není dobrý nápad a je lépe se tomu vyhnout.
Vyvolání funkce
Definice funkce sama o sobě funkci nespustí. Když chceme vytvořenou funkci použít, musíme ji vyvolat následujícím způsobem:
jmenoFunkce (prvniParamter, $druhyParamter… další parametry);
Zde vytvoříme jednoduchou funkci. Dáme jí jméno a seznam vstupních hodnot, které bude funkce očekávat.
<HTML>
<BODY>
<?php
function soucet($prvniParametr, $druhyParametr) {
$vysledek = $prvniParametr + $druhyParametr;
return $vysledek;
}
echo soucet(4,5);
?>
</BODY>
</HTML>
Všimněte si způsobu, kterým jsme definovali parametry $prvniParametr a $druhyParametr. Jejich pořadí musí odpovídat pořadí ve volajícím příkazu echo. Volající příkaz nemusí použít stejná jména parametrů, a ani nemusí předat hodnoty v podobě proměnných. Zde jsme jednoduše předali doslovné (literální) hodnoty. Ve funkci jsme sečetli dohromady oba parametry a vrátili výsledek $vysledek příkazem return.
Funkce lze vyvolat přiřazením do proměnné. To znamená, že výsledek, který funkce vrátí příkazem return, bude přiřazen do proměnné:
<HTML>
<BODY>
<?php
function soucet($prvniParamter, $druhyParamter) {
$vysledek = $prvniParamter + $druhyParamter;
return $vysledek;
}
$neco = soucet(4,5);
echo “$neco”;
?>
</BODY>
</HTML>
Konec funkce
Příkazem return lze z funkce vrátit volajícímu skriptu libovolný typ hodnoty. Funkce však nemusí každopádně něco vracet. V tom případě není zapotřebí mít příkaz return. Příkaz return lze ale použít kdekoli ve funkci, čímž se běh funkce ukončí a předá se řízení skriptu zpět na řádek, odkud byla funkce volána.
Korekce: Jindřich Domanja, 10. 8. 2008
Linkuj.cz! | Vybrali.sme.sk | | MediaBlog.cz | Del.icio.us





Srpen 25th, 2008 v 21.59
return nevraci libovolny typ hodnoty, ale vraci hodnotu libovolneho typu.
cituji: “Nelze jednoduše nadefinovat proměnnou kdekoliv ve skriptu, protože nebude z funkce přístupná”
A co treba globalni promenne? Samozrejme ze si muzu nadefinovat hodnotu promenne, a ve funkci ji pouzit.
No proste informacni hodnota clanku je dle meho mineni nulova, protoze popisuje pouze jeden priklad praci s funkcemi, autor zrejme uplne zapomel minimalne na vychozi hodnoty parametru, predavani referenci a podobne veci, kvuli kterym se funkce pouzivaji.
Říjen 30th, 2008 v 14.20
Konečne nejaký seriálik ktorý hovorí polopate čo je čo.Začiatočníci majú plný web pokročilého balastu, ale keď si nevedia uvedomiť základné termíny, nenaučia sa s nimi pracovať a rozmýšľať.Konečne autor píšuci o programovaní ľudskou rečou.
Škoda len že seriál nepokračuje už krok po kroku ďalej k zložitejším veciam o ktorých hovorí tuto kolega.