Dnes se zaměříme na funkce a procedury. Funkce a procedury jsou v programovacím jazyce velmi důležité, ve většině jazyků je najdete a je velmi výhodné si je zapamatovat a používat.
Rozdíl mezi procedurou a funkcí je ten, že procedura zpracovává nějaký kus kódu, kdežto funkce navíc ještě vrací nějakou hodnotu. Funkce i procedury se v PHP definují klíčovým slovem FUNCTION za které se dá název funkce, uvedu hned příklad:
<?php
function nazev_funkce()
{
return 2;
}
nazev_funkce(); //tímto se funkce zavolá
?>
Funkce ale nemusí být beze vstupu, pokud potřebujeme například sečíst dvě čísla, vytvoříme to takto:
<?php
function secti($a, $b){
return $a + $b;
}
echo secti(1,2);
?>
Tato funkce vypíše 3, protože jsme přes echo vypsali funkci secti, která měla vstupní dvě hodnoty, 1, 2 a vrátila nám tedy 3.
Funkce tedy může mít několik vstupních hodnot, ale vycházet může pouze jedna, je možné ale vrátit pole.
Procedura vypadá stejně jako funkce, jen neobsahuje return, používá se spíše na místa, kde potřebujeme zpracovat a vypsat kus kódu, například hlavičku webu či častěji se opakující prvky či jiné drobnosti.
Speciálním příkladem funkce je takzvaná rekurze, jde o rekurzivní funkci, tedy funkci, která volá sama sebe, v matematice jsme se s tím setkali například u počítání faktoriálu, lze to použít pro výpis řady čísel, ale pozor na zacyklení. Další u čeho se rekurze velmi často používá je procházení adresářů.