Definícia vlastných funkcií v php patrí ku každodennej praxi. Jazyk PHP obsahuje množstvo užitočných funkcií, ktoré sú ľahko využiteľné, ak však v našom kóde chceme použiť funkciu, ktorá by nám spracovala požadovaný skript podľa našich predstáv, tak použijeme funkciu function(). Je to veľmi nápomocná funkcia pomocou ktorej si mi môžeme definovať svoju vlastnú funkciu (hotové funkcie v jazyku php sú napr.: echo(), date(), empty() …). Základná syntax zápisu vlastnej funkcie je nasledovná:
function nazov_funkcie()
{
telo funkcie
}
Použitie v praxi je veľmi nápomocné a využijete túto funkciu v každom väčšom skripte. Musí sa však dávať pozor, aby pomenovaná funkcia nemala totožné meno s už existujúcou. Potom sa vypíše chybové hlásenie.
Využitie funkcie si môžeme ukázať na názornom príklade.
<?php
function napis()
{
$skript = "funkcia napis()";
echo "Toto je $skript.";
}
napis();
?>
Toto je funkcia napis().
Zadefinovali sme si vlastnú funkciu a nižšie vidíte jej využitie. Skript mám vypíše nasledujúci výsledok „Toto je funkcia napis()“.
<?php
function napis1()
{
$skript = "funkcia napis1()";
$text = "Toto je $skript.";
return $text;
}
napis1();
echo "=====<br />";
echo napis1();
?>
=====
Toto je funkcia napis1().
Zápis funkcie má ešte jeden možný variant a to je variant zo zápisom argumentov. Jej syntax sa neodlišuje veľmi významne ale ak typujete, že argumenty sa zapisujú do zátvorky, tak typujete správne. Argumenty vo funkcií majú nasledovnú syntax:
function nazov_funkcie(argument1, argument2)
{
telo funkcie
}
Argumenty môžu mať významnú funkciu a odporúčam ich použiť aj kvôli predchádzaniu chybových hlásení. Funkcie argumenty prijímajú, tak ako je to napr. pri funkcie echo, ktorá prijíma vami zadaný text. Počet argumentov je ľubovoľný, čiže ich môžeme zapísať koľko chceme. Argumenty sa nazývajú tiež aj parametre, tak sa netreba zmiasť.
<?php
function sucet($a,$b)
{
$c = $a + $b;
$text = "Zadané sú čísla $a a $b. Ich súčet je $c. <br />";
return $text;
}
$a = 5;
$b = 8;
$vysledok = sucet($a,$b);
echo $vysledok;
?>
Zadané sú čísla 5 a 8. Ich súčet je 13.
Funkcia sa zavolá nasledujúcim spôsobom:
echo sucet(6,12);
Zadané sú čísla 6 a 12. Ich súčet je 18.
Poznámka
Vo funkciách musia byť definované všetky argumenty. Argumentom však môžeme priradiť predvolenú hodnotu. V takomto prípade dané argumenty nemusia byť definované.
<?php
function sucet_novy($a=1,$b=1)
{
$c = $a + $b;
$text = "Zadané sú čísla $a a $b. Ich súčet je $c.";
return $text;
}
echo sucet_novy(10,15)."<br />";
echo sucet_novy()."<br />";
echo sucet_novy(10)."<br />";
echo sucet_novy(0,15);
?>
Zadané sú čísla 10 a 15. Ich súčet je 25.
Zadané sú čísla 1 a 1. Ich súčet je 2.
Zadané sú čísla 10 a 1. Ich súčet je 11.
Zadané sú čísla 0 a 15. Ich súčet je 15.
Definície funkcií môžeme uložiť do samostatného súboru, a potom ich pomocou include() alebo require() zahrnúť do skriptu.
<?php
function zobraz_tabulku($riadky=2,$stlpce=2)
{
$text = "";
for($i=1; $i<=$riadky*$stlpce; $i++)
{
if($i%$stlpce == 1) $text .= "<tr>";
$text .= "<td>$i</td>";
if($i%$stlpce == 0) $text .= "</tr>";
}
if($text) return "<table border='1'>$text</table>";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Tabuľka</title>
</head>
<body>
<?php
include("funkcie.php");
echo zobraz_tabulku(3,5);
?>
</body>
</html>
| 1 | 2 | 3 | 4 | 5 |
| 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 |
