logo MojeWebovky
ÚVOD XHTML CSS PHP OSTATNÍ
PHP
< Předchozí Následující >

Funkce a procedury

Pokud máte na stránce část kódu, která se tam vyskytuje vícekrát, byla by otročina jí tam neustále kopírovat. Proto existují funkce a procedury, které stačí jednou nadeklarovat a pak je můžete kdykoliv zavolat podle potřeby.

Procedury

Například:

<?php 
function hvezdicky ()
	{
	echo"* * * * *";
	}
?>

Pokud pak chci kdekoliv na stránce vypsat 5 hvězdiček, stačí jednoduše zavolat proceduru hvezdicky:

<?php 
hvezdicky;
?>

pozn.: Závorky za názvem funkce slouží k předávání parametrů

Nezáleží na pořadí, takže můžeme funkci klidně zavolat ještě dřív, než je definována v celku. Kvůli přehlednosti to ale stejně moc lidí nedělá.

Rozdíl mezi procedurou a funkcí je ten, že procedura pouze provede kód, který obsahuje, zatímco funkce navíc ještě vrací nějakou hodnotu. hvezdicky z příkladu jsou tedy procedura.

Obojí, funkce i procedury, se ale v PHP zapisují klíčovým slovem function.

Funkce

<?php 
function secti ()
	{
	$cislo1=5;
	$cislo2=3;
	
	return ($cislo1 + $cislo2);
	}
?>

Klíčové slovo return udává hodnotu, kterou funkce vrátí. Každá funkce může vracet pouze jednu hodnotu.

Funkce se pak klidně dá začlenit do ostatního textu.

<?php 
function secti ()
	{
	$cislo1=5;
	$cislo2=3;
	
	return ($cislo1 + $cislo2);
	}
	
	
echo 1+secti (); // vypíše hodnotu 9 (5+3+1)
?>

Funkce s parametrem

Pokud chceme (a že většinou chceme) aby například funkce secti sčítala libovolná čísla, která jí program předá, je třeba přiřadit jí parametry. Pro ně je určena ta závorka za funkcí.

<?php 
function secti ($cislo1, $cislo2)
	{
	return ($cislo1 + $cislo2);
	}
	
echo secti (5, 9);
?>

Pozor, funkce pracují jen s proměnnými které jim předáme v parametru. Nelze proto odkázat na proměnnou uvedenou jinde v kódu.

To jde obejít jedině když použijeme u požadované proměnné klíčové slovo global.

Tohle tedy bude fungovat:

<?php 
$cislo1=10;

function pricti ($cislo2)
	{	
	global $cislo1;	
	return ($cislo1 + $cislo2);
	}
		
echo pricti(5); // vrátí 15
?>

< Předchozí Následující >

© 2006-2007 Petr Kuda - www.troska.cz

O webu
Slovníček pojmů
Odkazy
Verze pro tisk (pdf)
TOPlist