функция это обёртка для кода
если есть кусок кода, который будет повторяться n-раз - то для удобства код "оборачивается" и этой обёртке назначается имя
функция находиться в глобальной области видимости - т.е. если в какой либо функции (в теле функции) необходим результат работы другой функции - то её не нужно инициализировать по новой - она доступна (ну это больше к правильности кода относиться - т.к. инициализация функции в теле другой функции - это бред)
функция может принимать аргументы - для того чтобы работать с ними в теле (речь конечно не идёт о константах - они и так доступны в теле функции)
а внутри функции - код работает так же как и везде, для возврата результата работы кода используется команда
return.
для того чтобы получить результат работы функции - нужно её вызвать, пока нет вызова этой функции - нет и результата работы данной функции
инициализация
function myFunction($a, $b){
return $a+b;
}
чтобы получить результат работы - вызов
echo myFunction(4,6);
или сохранить результат для дальнейшего использования
$sum = myFunction(4,6);
echo 21-$sum;
или сразу
echo 21-myFunction(4,6);
нельзя называть функции такими же именами как и штатные функции (exit, die, array_map - ну штатных функций оч много) - просто получишь ошибку о не возможности декларирования функции (то же самое если ты попробуешь инициализировать 2 функции с одинаковыми именами)
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker