0; $n--) $i *= $n; return $i; } function Prohod(&$x,&$y) { $pom = $x; $x = $y; $y = $pom; } function NSD($x,$y) { do { $zb = $x % $y; $x = $y; $y = $zb; } while ($zb>0); return $x; } function Umocni($zaklad, $exponent=2) { $pom = $zaklad; for ($i=1; $i<$exponent; $i++) $pom *= $zaklad; return $pom; } function Citac() { static $n=0; $n++; return $n; } ?>

Funkce

Proměnné definované uvnitř funkcí jsou lokální.
Pokud se chci odkázat na globální proměnnou, musím ji ve funkci deklarovat global $x;
nebo použít asociativní pole : $GLOBALS["x"]

Parametry funkcí jsou volané hodnotou ... function F($p) nebo odkazem ... function F(&$p)

"; echo "Volam funkci Prohod()
"; Prohod($a,$b); echo "\$a=$a \$b=$b

"; $a=714; $b=462; $c=NSD($a,$b); echo "Největší společný dělitel čísel $a a $b je $c

"; echo "Umocňuji 5 na 3. ... ".Umocni(5,3)."
"; echo "Umocňuji 5 na ?. ... ".Umocni(5)." (přednastavena hodnota 2)

"; echo "Test statické proměnné ve funkci Citac()
"; echo "Volam funkci poprve .... ".Citac()."
"; echo "Volam funkci podruhe ... ".Citac()."
"; echo "Volam funkci potreti ... ".Citac()."

"; ?>

Tabulka faktoriálů