Představme si, že někde v kódu potřebujeme datové pole uložit jako výstup do textového souboru, a v nějaké jiné části kódu to budeme potřebovat znova, ale pro změnu třeba jen do jiného souboru.
Představme si, že někde v kódu potřebujeme datové pole uložit jako výstup do textového souboru, a v nějaké jiné části kódu to budeme potřebovat znova, ale pro změnu třeba jen do jiného souboru.
Zápis funkce
Funkci lze obecně napsat následovně:function (< parametr_1 >,< parametr_2 >,< parametr_3 >, ...)
{
< příkazy k provedení >;
return < hodnota >;
}
< parametr 1 > - funkci můžeme předat parametr, například budeme chtít mít funkci pro zápis do souboru, pak předáme název souboru, funkce mohou být i bez parametru, potom žádné parametry nepíšeme, ale pouze ponecháme prázdné závorky "()".
< příkazy k provedení > - jsou to jednotlivé příkazy funkce
return - umožňuje nám vrátit nějakou hodnotu funkce, nebo třeba jen výsledek o tom jak funkce proběhla
Názvy funkcí nejsou citlivá na velká/malá písmena, takže funkce Tisk(), je totožná s funkcí tisk(). Ale již proměnné jsou case sensitive a proto se budeme se snažit toto dodržovat toto i u názvu funkcí.
Funkce bez parametru
Příkladem funkce, kde nejsou nutné parametry může být třeba funkce tisk, která nám vytiskne pozdrav na obrazovku. Funkci voláme jako tisk();.<?
function tisk()
{
print "<br>ahoj<hr>";
}
tisk();
?>
Funkce s parametrem
Představme si, že na potřebujeme vypsat diskusi. Vytvoříme funkci, které budeme předávat jméno, datum a text diskuze.<?
function diskuze($jmeno,$datum,$text)
{
print "<p><big>".$jmeno."</big>[br]";
print "<small>".$datum."</small><br>";
print $text;
}
diskuze("admin","27/09/2004","ahoj, jak se máte");
diskuze("Pjotr","27/09/2004","super :-)");
?>
Složitější funkce
Potřebuji funkci, která zjistí faktoriál určitého čísla. Vstupní číslo udává uživatel a funkci bude používat více programátorů. Proto nemůžu očekávat, že každý udělá test uživatelova vstupu. Níže prezentovaná funkce vrací faktoriál pokud je to možné a v případě, že nastane chyba vrátí hodnotu false, kterou poté můžeme využít při dalším rozhodování v samostatném programu.
<? function faktorial($n)
{
if (is_int($n) and ($n>=0))
# podmínka,jestli je proměnná typu integer a zárověn kladná
{
$x=1;
$vysledek=1;
while ($x<=$n)
{ $vysledek=$vysledek*$x;
$x=$x+1;}
return $vysledek;
}
else
return false;
}
print "<br>";
$n=3;
if ($vysledek=faktorial($n)) print $n."! = ".$vysledek;
else print $n." nemá faktoriál";
print "<br>";
$n="abc";
if ($vysledek=faktorial($n)) print $n."! = ".$vysledek;
else print $n." nemá faktoriál";
?>
Příště si zde popíšeme platnost proměnných a uvedeme příklady. Popřípadě rozebereme to, co půjde hůře pochopit.