Dnes je Pondělí, 21. Květen 2012 a svátek má Monika, zítra Emil.

Články

Tutoriály, programování a design, novinky, zajímavosti ...

6. Lekce - PHP

Úvod

V této lekci se naučíte vytvářet funtion - česky "funkce".

Základní struktura

Nejdříve musíme začít slovem function, poté následuje mezera a název naší funkce (nesmí obsahovat háčky, mezery, začínat nulou a podobně, stejně jako proměnné).

Po názvu se píše mezera a dvě kulaté závorky (), do kterých se píšou parametry, což jsou vlastně proměnné nebo třeba pole.

Funkce se musí také otevřít a uzavřít složenými závorkami { a } a vše, co je mezi nimi, platí pouze v této funkci.

function nazev (parametry)
{
    // příkazy
}

Příklady

Zkusíme vytvořit naši první funkci, která vypíše nějakou větu:

function prvni ()
{
    echo "Ahoj, já jsem tvoje první funkce.";
}

Nyní se nic neprovede, protože se funkce musí zavolat.

Funkce se volají jejím jménem a závorkami - necháváme prázdné, pokud se nepřenáší parametry:

function prvni ()
{
    echo "Ahoj, já jsem tvoje první funkce.";
}
// voláme funkci prvni
prvni();

Výsledek: Ahoj, já jsem tvoje první funkce.

Příklad

Nyní si ukážeme funkci s parametry:

function vypis ($jmeno, $vek)
{
    echo "Jmenuji se ".$jmeno." a je mi ".$vek." let.";
}
// voláme funkci vypis, do které vložíme jméno (text) a věk (číslo)
vypis("Petr", 20);

Výsledek: Jmenuji se Petr a je mi 20 let.

Do závorek si vymyslíme proměnné (jejich názvy), do kterých se uloží data, která posíláme zároveň při volání, a poté je dále používáme.

Tyto proměnné jsou platné pouze uvnitř funkce.

Příklad

Tady uvidíte, že proměnné platí opravdu jen uvnitř funkce vypis:

$jmeno = "Pavel";
$vek = 50;
function vypis ($jmeno, $vek)
{
    echo "Jmenuji se ".$jmeno." a je mi ".$vek." let.<br />";
}
// voláme funkci vypis, do které vložíme jméno (text) a věk (číslo)
vypis("Petr", 20);
// a tady vypíšeme proměnné mimo funkci
echo "Jméno mimo funkci je ".$jmeno." a věk ".$vek." let.";

Vypíše se nám text z funkce a poté ještě: Jméno mimo funkci je Pavel a věk 50 let.

Return

Funkce nemusí jen vypisovat data, ale můžou je i "vracet", k tomu slouží příkaz return:

function soucet ($a, $b)
{
    return $a+$b;
}
// voláme funkci, která nám vrátí výsledek
echo soucet(10, 20);

Vypíše se: 30

Kalkulačka

Můžeme tedy vytvořit například vlastní kalkulačku!

Bude se skládat ze čtyř funkcí - součet (+), rozdíl (-), součin (*) a podíl (/).

function soucet ($a, $b)
{
    return $a+$b;
}

function rozdil ($a, $b)
{
    return $a-$b;
}
function soucin ($a, $b)
{
    return $a*$b;
}
function podil ($a, $b)
{
    return $a/$b;
}
// naše dvě čísla
$cislo_1 = 50;
$cislo_2 = 100;
// počítání
echo "Naše čísla jsou ".$cislo_1." a ".$cislo_2.".<br />";
echo "Součet: ".soucet($cislo_1, $cislo_2)."<br />";
echo "Rozdíl: ".rozdil($cislo_1, $cislo_2)."<br />";
echo "Součin: ".soucin($cislo_1, $cislo_2)."<br />";
echo "Podíl: ".podil($cislo_1, $cislo_2);

Vypíše se:

Naše čísla jsou 50 a 100.

Součet: 150

Rozdíl: -50

Součin: 5000

Podíl: 0.5

Příklad

Můžeme využít i pouze jednu funkci, ale uvnitř bude potřeba pár podmínek:

function kalkulacka ($a, $b, $typ)
{
    if ($typ == 1)
    {
        return $a+$b;
    } else if ($typ == 2)
    {
        return $a-$b;
    } else if ($typ == 3)
    {
        return $a*$b;
    } else if ($typ == 4)
    {
        return $a/$b;
    } else {
        return "Nevím, co po mě chceš.";
    }
}
// naše dvě čísla
$cislo_1 = 50;
$cislo_2 = 100;
// počítání
echo "Naše čísla jsou ".$cislo_1." a ".$cislo_2.".<br />";
echo "Součet: ".kalkulacka($cislo_1, $cislo_2, 1)."<br />";
echo "Rozdíl: ".kalkulacka($cislo_1, $cislo_2, 2)."<br />";
echo "Součin: ".kalkulacka($cislo_1, $cislo_2, 3)."<br />";
echo "Podíl: ".kalkulacka($cislo_1, $cislo_2, 4)."<br />";
echo "Blbost: ".kalkulacka($cislo_1, $cislo_2, 5);

Vypíše se:

Naše čísla jsou 50 a 100.

Součet: 150

Rozdíl: -50

Součin: 5000

Podíl: 0.5

Blbost: Nevím, co po mě chceš.

Vysvětlení

Předávali jsme číslo z proměnné a, b a také typ 1-součet, 2-rozdíl, 3-součin a 4-podíl.

Pokud je typ jiný, než 1, 2, 3 nebo 4, tak se vypíše, že kalkulačká neví, co po ní chceme.

Příklad

Můžeme si vytvořit i například výpis čísel od-do:

function cisla ($a, $b)
{
    for ($i=$a;$i<=$b;$i++)
    {
        echo $i.", ";
    }
}
// voláme funkci, která nám vrátí čísla od 10 do 20 (včetně)
echo cisla(10, 20);

Výsledek: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,

Když by jsme chtěli, aby se za posledním číslem nevypsala čárka, stačí využít podmínku:

function cisla ($a, $b)
{
    for ($i=$a;$i<=$b;$i++)
    {
        if ($i==$b)
        {
            echo $i;
        } else {
            echo $i.", ";
        }
    }
}
// voláme funkci, která nám vrátí čísla od 10 do 20 (včetně)
echo cisla(10, 20);

Výsledek: 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

S funkcemi se dá ušetřit mnoho práce a různě pohrát - vypisovat data z polí, různé výpočty, převody nebo také hry a další...

Líbil se Vám tento článek?

Líbí se 55 návštěvníkům.

Další články v sekci PHP

1. Lekce - PHP

- Úvod a historie PHP.

2. Lekce - PHP

- Typy proměnných a práce s nimi, komentáře, výpis na stránku.

3. Lekce - PHP

- Podmínka IF, ELSE IF, ELSE a SWITCH.

4. Lekce - PHP

- Cyklus FOR, WHILE a DO WHILE.

5. Lekce - PHP

- Práce s ARRAY (pole).

6. Lekce - PHP

- Vysvětlení a použití FUNCTION - funkce.