Tutoriál PHP #8: Funkcie, definícia a použitie

Funkcie, definícia a použitie

Funkcia je blok príkazov, ktoré je možné v programe používať opakovane. Funkcia sa skladá z hlavičky funkcie a tela funkcie.

Hlavička funkcie sa skladá s kľúčového slova "function", okrúhlych zátvoriek, ktoré obsahujú vstupné parametre potrebné na prácu funkcie. Parametre sú lokálne premenné funkcie. Platia len pre funkciu, mimo funkcie nie.

Hlavička funkcie obsahuje názov funkcie, ktorú si môže programátor sám navrhnúť. Názov sa nachádza medzi kľúčovým slovom "funkcion" a okrúhlymi zátvorkami

Telo funkcie je tvorené zloženými zátvorkami {}. medzi nimi sú jednotlivé príkazy patriace funkcii. Príkazy sa vykonávajú podľa poradia, v akom boli napísané.

Funkcia sa volá jej názvom a okrúhlymi zátvorkami, v ktorých sú parametre funkcie. Parametre, s ktorými funkcia pracuje, majú platnosť len vo vnútri funkcie.

syntax:

function functionName([parameters]) {
  // statements - príkazy funkcie
}

príklad 1: vytvorte funkciu s názvom MenoPriezvisko, ktorá vypíše po zadaní potrebných parametrov do vety vaše meno a priezvisko. 

  function menoPriezvisko($meno , $priezvisko)
          {
		   echo "Vaše meno a priezvisko je: " . $meno . " " . $priezvisko . ".";
		   echo "

"; } // použitie (volanie) funkcie // volanie funkcie realizujeme jej názvom a vyplnením potrebného počtu parametrov. echo menoPriezvisko (Janko,Hraško); // opätovné volanie funkcie s inými parametrami. echo menoPriezvisko (Tom,Jerry);

príklad 2: vytvorte funkciu obsah kruhu, ktorá po zadaní parametra vypočíta obsah kruhu. Použite vzorec S=pi*r2.

function obsahKruhu($polomer)
               {
			$vypocet = 3.14*pow($polomer,2); //samotný výpočet obsahu kruhu
			$vysledok = round($vypocet,2); //zaokrúhlenie výsledku na dve desatinné miesta
			echo "Obsah kruhu s vami zadaným polomerom je: " .$vysledok . " mm.";			
		}
echo obsahKruhu(12);

Funkcia s nepovinným parametrom
Vytvoríme funkciu menoPriezvisko2, ktorá bude mať dva vstupné parametre, z toho jeden nepovinný. Nepovinnému parametru definujeme východziu hodnotu, ktorá sa parametru priradí zakaždým, pokiaľ ju sami nezadáme.

function menoPriezvisko2($meno,$priezvisko = "priezvisko nebolo zadané")
                       {
		                echo "Vaše meno a priezvisko je: " . $meno . " " . $priezvisko . ".";
		                echo "

"; } //volanie s parametrami echo menoPriezvisko2(Bud,Spencer); // volanie s parametrom echo menoPriezvisko2(Terence);

Predávanie argumentu funkcie
Keď lokálna premenná stratí na konci funkcie svoju platnosť, hovoríme o predávaní argumentov. Tie môžeme predávať pomocou hodnoty alebo odkazu. Najlepšie si je to vysvetliť na príklade:
Príklad na predanie argumentu pomocou hodnoty:

function menoPriezvisko3($meno, $priezvisko)
        {
	     echo "Vaše identifikačné údaje sú: " . $meno . " " . $priezvisko . ". ";
	     echo "

"; } echo menoPriezvisko3 (Matej, Jánošík); $nahradne_meno = "Juraj"; echo menoPriezvisko3 ($nahradne_meno, Jánošík);

Príklad na predanie argumentu pomocou odkazu, zápis znaku & pred argument:

function dveSlova($prve, $druhe)
        {
	  echo "toto sú zadané slová: " . $prve . " a " . $druhe . ". ";
	  $prve = "prvé slovo.";
          echo "
"; } echo dveSlova(maslo, olej); $surovina = "mlieko"; echo dveSlova(&$surovina, olej); echo $surovina;

Volanie funkcie cez premennú
V tomto prípade funkcia nemá meno, je tzv. anonimná, avšak je priradená premennej. Premenná sa stáva funkciou. Vytvoríme si funkciu, ktorá spočíta priemer z troch zadaných čísel.

$priemer =  function ($hodnota1 , $hodnota2 , $hodnota3)
                    {
			echo $vysledok =  ($hodnota1 + $hodnota2 + $hodnota3)/3;
			echo "
"; }; echo $priemer(2,2,2);

Príkaz return
Má dve funkcie, prvá je predávanie výsledku funkcie a druhá predčasné ukončenie funkcie. Vytvoríme si príklad na výpis výšky a váhy človeka.

function vypisVahuVysku($vaha,$vyska)
         {
	 return "Vaša váha je " . $vaha . "kg. a Vaša výška je " . $vyska . "cm. 
"; } echo vypisVahuVysku(95,180);
Rubriky: