Фукциите са друг, също много важен вид конструкции на езика. Може да се каже, че променливите и функциите са най-важните елементи в PHP.

Функцията представлява самостоятелно, автономно „парче“ код, което трябва да изпълни опредена задача. Бихме могли да я наречем „скрипт в скрипта“ или „подскрипт“.

1. Видове функции.
Функцията, подобно на променливата, трябва да има някакво название. В PHP има както готови (вградени в езика, стандартни) функции, чиито имена са фиксирани, така има и възможност вие да създадете каквито функции желаете, като им зададете всякакви произволни названия. Т.е. функциите в PHP биват
– стандартни функции (вградени в езика), с фиксирани имена
– собствени функции (дефинирани от разработчика), с произволни имена

PHP поддържа стотици вградени в езика функции, с които могат да се извършват разнообразни операции. В примерите са разгледани някои от най-популярните функции като например функциятаmail() с чиято помощ може да се изпращат съобщения на имейл, функцията include() чрез която един документ може да бъде включен в друг документ и функцията date() чрез която може да се позват текущите дата и час. В материалите за масиви са описани някои от функциите за работа с масиви. Списък на функциите в PHP може да видите в официалния сайт www.php.net

2. Названия на функции. Синтаксис на имената на функциите.
Функциите се отличават от променливите и по това, че не съдържат знака на долара, нито какъвто и да е друг символ пред името. Всички функции задължително съдържат след названието си кръгли скоби, в които може да има поставени един или няколко параметъра, а може и да няма никакви параметри. Следователно обичайния вид на функциите е: funkcia()

След като веднъж е създадена, за разлика от променливата, функцията не може да бъде променяна.

Синтаксисът на имената при функциите се подчинява на същите правила като синтаксиса на имената при променливите, т.е. името на дадена функция може да съдържа латински букви, арабски цифри и долно тире, като може да започва с буква или долно тире, но не и с цифра.

За разлика от променливите обаче при имената на функциите няма значение дали те са зададени с големи или малки букви. Т.е. названията funkcia(), Funkcia() и FUNKCIA() ще бъдат възприети от PHP като една и съща функция. Понеже не е възможно да имате две или повече функции с еднакви названия, то при създаването на всяка функция трябва да задавате уникално име, което се отличава от другите имена на функции поне по един символ, а не по големите и малките букви. Например funk1() и FUNK1() са еднакви названия на функции и не могат да бъдат използвани и двете едновременно, докато  funk1() и funk2() са две различни уникални имена на функции.

3. Създаване на собствени функции. Извикване на функции.
Създаването (декларирането) на ваша собствена функция има следния синтаксис:

function ime_na_funkcia ($parameter1, $parameter2, $parameter3…) {код в „тялото“ на функцията}

Т.е. най-напред се изписва ключовата дума function, след което трябва да запишете произволно избрано име на функцията. В кръглите скоби, които се поставят след названието на функцията, може да има произволен брой параметри, а може и да няма нито един. След това в големи скоби се затваря изпълнимия код от „тялото“ на функцията.

Друга важна особеност на функциите е, че след като дадена функция е създадена (дефинирана) веднъж, тя може да бъде извикана колкото искате пъти и на което място в кода пожелаете. В кръглите скоби може да разположите колкото желаете параметри, а в големите скоби може да имате колкото и какъвто пожелаете код. Както разбирате по този начин може да си спестите доста труд, защото кода който ще се наложи да изпишете ще бъде много по-малко и по-прегледен, отколкото ако трябва да направите всичко чрез HTML.

Да си представим, че имате уеб страница в която трябва на няколко места да покажете даден списък с някакви елементи. В такъв случай кода ви може да изглежда по следния начин:

<?php

function mylist()
{
echo
„<ul>
<li> Елемент 1
<li> Елемент 2
<li> Елемент 3
<li> Елемент 4
<li> Елемент 5
</ul>“;
}

// Тук ще покажем списъка за пръв път

mylist();

// Тук можем да го покажем за втори път

mylist();

?>

В горния код създадохме функцията mylist(), която е без параметри и след това я извикахме два пъти. Този код ще има като ефект двукратното показване на списъка с елементите от 1 до 5. Т.е. след като функцията е създадена и е зададен изпълнимия код в големите скоби, след това може да я извикате един или няколко пъти просто като напишете названието й в кода на документа на необходимото място.

Обърнете внимание, че кръглите скоби задължително се изписват след името на функцията, независимо, че в тях може да няма никакви параметри, както е в случая. Конструкцията на извикването на функция, също като другите конструкции, завършва с точка и запетая.

Функцията е отличен инструмент за манипулиране на уеб документи и заради това, че след като веднъж е създадена (декларирана) в един скрипт, тя може да бъде ползвана и в други скриптове без да се налага да я декларирате отново.

Например след горния примерен код, където декларирахме и извикахме 2 пъти функцията mylist(), може да имаме някакъв текст, някакви html тагове и след това да се наложи отново да покажем същия списък с елементи:

<p>
Някакъв текст
</p>

<table border=“1″>
<tr>
<td>

<?php

// А тук ще извикаме функцията за трети път

mylist();

?>

</td>
</tr>
</table>

В случая ефекта от горния код ще бъде показването на списъка с 5-те елемента в таблицата. Въпреки че предния скрипт е затворен и в таблицата е сложен нов скрипт, няма проблем да се извика същата функция от първия скрипт без да е необходимо повторното и деклариране във втория скрипт. Ето какъв ще е ефекта от кода в браузъра: