Funkcja jest fragmentem kodu, który można wywoływać w różnych momentach i miejscach programu. Funkcję definiuje się raz, najczęściej na początku skryptu. Później można funkcję wywoływać dowolną ilość razy, w zależności od potrzeb. Jest to bardzo wygodne rozwiązanie. Jeśli jakaś funkcja jest błędna to wystarczy poprawić kod w jednym miejscu.

Ogólna definicja funkcji:
function nazwa (argument1, argument2, /* ... */, argumentN) {
instrukcja;
return wartość_zwracana;
}

Nazwa funkcji musi się zaczynać od litery lub znaku podkreślenia, natomiast później może zawierać małe lub duże litery, cyfry i znaki podkreślenia. Nazwa funkcji nie musi zaczynać się od znaku $.
Argumenty funkcji nie są obowiązkowe, można tworzyć funkcje bezargumentowe. Opcjonalne jest również używanie instrukcji return, której zadaniem jest zakończenie wykonywania funkcji i zwrócenie wartości obliczonej przez funkcję.

Przekazywanie argumentów może odbywać się na dwa sposoby: - przez wartość - argument $liczba jest traktowany jak zwykła zmienna.

Przykład funkcji:
//deklaracja funkcji obliczające wartość bezwzględną liczby
function rwAbs($liczba) {
if ($liczba < 0)
$liczba = -$liczba;
return $liczba;
}
//wywołanie funkcji
$wynik = rwAbs(-7);
echo $wynik;

- przez referencję – używany gdy argumentem jest zmienna. Manipulacja zmienną $liczba, a zwłaszcza zmiana jej wartości, powoduje zmianę wartości zmiennej zewnętrznej, przekazanej jako argument funkcji.

Przykład funkcji:
// deklaracja funkcji obliczające wartość bezwzględną liczby
function rwAbs(&$liczba_arg) {
$liczba = $liczba_arg;
if ($liczba < 0)
$liczba = -$liczba;
return $liczba;
}
// Wywołanie funkcji
$a = -7;
$wynik = rwAbs($a);
echo $wynik."<br />";

PHP dostarcza zestaw predefiniowanych funkcji. Zostały one podzielone tematycznie. Ich listę wraz ze szczegółowymi opisami funkcji można znaleźć w dokumentacji PHP (www.php.net).