Здравствуйте уважаемые начинающие программисты. В этой статье разговор пойдёт о функциях PHP.
Функция PHP — это как бы программа внутри программы.
Если провести упрощённую аналогию, то её можно сравнить с поиском по сайту, при помощи которого можно обратиться к любой странице сайта.
В отличие от поиска, при помощи функции можно не только обратиться к любому элементу программы, но и заставить выполнить его многократно те, или иные действия.
Как это выглядит на практике (тоже пока упрощёно). Допустим у Вас имеется php код, состоящий из конструкций, массивов и других блоков. Все они последовательно выполняются, и программа таким образом работает.
Если программа простая и небольшая, то проблем нет, но если сложна и большая, то в ней один и тот же блок может выполнятся десятки раз.
И вот в этом случае, чтобы упростить код, и не повторять много раз один и тот же блок, можно объявить (создать) функцию, задать ей этот блок в параметрах, и затем вызывать её в нужных местах кода. Функция будет выполнять заданные ей действия, и программа опять же будет работать.
Для улучшения читабельности и структуры скрипта, все применённые в нём функции размещаются в начале кода, и затем вызываются по имени в нужных точках.
Можно так же, по аналогии с CSS, вывести все используемые в программе функции в отдельный файл. Такой файл называется «Библиотека». Например всем известная библиотека jQuery — это набор функций.
Ну а теперь давайте поподробнее. Функции в php делятся на стандартные и пользовательские. Стандартные — составляют функциональную основу php, и являются частью этого языка программирования.
Перечислить и описать их все здесь я не смогу, так как имя им легион (по последним данным насчитывается более 4 000 функций php, которые, в свою очередь, подразделяются на 36 категорий). Да это и не к чему.
Когда Вы получите необходимые знания, и у Вас возникнет необходимость найти одну из стандартных функций, то это не сложно будет сделать, обратившись к справочнику php.
Особенно полный и подробный справочник функций, по моему, представлен на ресурсе php.su.
В добавок к стандартным функциям, в php применяются ещё и пользовательские функции. Создаёт их пользователь, или программист, то есть Вы.
При создании пользовательской функции, первым делом необходимо дать ей имя.
Как и в случае с переменными, имя функции может состоять из любых букв, но применять русские буквы не рекомендуется, из за различного их отображения в различных кодировках.
Имя должно быть без пробелов, и нести смысловую нагрузку. Например если функция вызывает блок с именами, то название ей нужно дать name.
В отличие от переменных, в имени функции не учитывается регистр букв, то есть next и NEXT будет определяться как одно и то же имя.
Как то уж так повелось, что в имени функции не используется тире и подчёркивание, хотя это совершенно не запрещено.
Если, для внесения смысла, имя функции состоит из двух или трёх слов, то пишутся они слитно, но каждое новое слово начинается с заглавной буквы.
Например:
function mainNevFunction
После имени всегда следуют круглые скобки, в которые вводятся параметры или аргументы для выполнения. Если параметры не задаются, то круглые скобки остаются пустыми.
Затем следуют фигурные скобки, в которых помещается тело функции, в котором указывается, что данная функция должна выполнить.
При объявлении функции, перед её именем необходимо поставить ключевое слово function, чтобы интерпретатор понял, с чем имеет дело.
Пример:
<?php
$category = "Читать далее ...";
function dalee($category){
echo "$category";
}
dalee($category); //Выводиться на экран "Читать далее ..."
?>
Разберём его подробно. У нас есть переменная $category, с некоторым объёмом памяти, а именно, со строкой «Читать далее».
Так как эту строку предполагается выводить много раз, то объявляем для неё функцию dalee.
В параметры этой функции (в круглых скобках) вводим переменную, а в теле функции (в фигурных скобках) указываем, что она должна выполнять. В нашем случае — это вывод на экран строки «Читать далее …».
Теперь у Вас отпала необходимость много раз переписывать блок с переменной и выводом, достаточно в нужных местах кода вставить dalee($category);
Как Вы уже поняли — это был пример пользовательской функции, так как имя мы ей дали сами. Но, как я уже говорил ранее, в php существует более 4000 стандартных функций, то есть уже объявленных по умолчанию.
В них уже определены действия, которые они выполняют, и нам достаточно ввести параметры, с которыми эти действия будут выполнены.
Фишка в том, что если при создании пользовательской функции, её имя совпадёт с именем стандартной функции, то код окажется неверным и выдаст ошибку.
Для того, чтобы провести проверку, в php есть, опять же, стандартная функция function_exists, а проверка выполняется при помощи условных операторов if и else.
<?php
if(function_exists("dalee")){
echo 'есть';
}
else {
echo 'нет';
}
?>
Эта программа определит есть ли в php стандартная функция с именем dalee, или нет, и выведет на экран соответствующий ответ.
Можно использовать функцию в качестве калькулятора. Для этого в теле функции задаётся нужное арифметическое действие.
<?php
function calculator()
{
$next = 5;
$next1 = 10;
$rezultat = $next + $next1;
echo $rezultat;
}
calculator(); //Выведет 15
?>
А теперь, обратите внимание, что во всех предыдущих примерах в теле функции была задана какая-то программа, и вывод результата выполнения на экран.
И тут возникает вопрос: а что если этот результат нам не нужно выводить на экран, а нужно его только получить, для того, чтобы использовать где-то в других частях кода?
Для этого у функции имеется свойство возврат значения (очень часто применяемое)
Возврат значения производится при помощи оператора return, и приводит к завершению выполнения функции и передаче управления обратно к той строке кода, в которой данная функция была вызвана.
А результат сохраняется в переменной, которую Вы можете в дальнейшем использовать по надобности.
В следующем примере, выведем переменную с результатом на экран, просто для того, чтобы проверить выполнение программы.
<?php
$next = 5;
$next1 = 10;
function calculator($next, $next1){
$resultat = $next + $next1;
return $resultat;
}
$nov = calculator(5,10); // Объявляем новую переменную и присваиваем ей возвращённый результат.
echo $nov;
?>
После оператора return, в теле функции писать какой либо код бессмысленно, он всё равно не выполнится.
В данный момент Вы ещё не поймёте всю полезность и значимость возвращения значений функции, да это пока и не к чему. В дальнейшем, при разборе сложных скриптов, всё встанет на свои места.
Возвращаемые значения могут быть любого типа, в том числе массивы и объекты, и мы подробно этот процесс рассмотрим в одноимённых статьях. Кстати там и начнётся самое интересное.
Рассмотренные в этой статье свойства, относятся как к пользовательским, так и к стандартным, или встроенным функциям php. Разница лишь в том, что стандартные быстрее обрабатываются, так как сами являются частью языка.
Поэтому, в дальнейшем, для выполнения поставленной задачи, конечно лучше находить и применять готовые стандартные решения.
Возможностей для этого, интернет предоставляет очень много. А я, в свою очередь, в следующей статье постараюсь познакомить Вас с наиболее популярными, и полезными стандартными функциями php.
Перемена
Пошли в магазин, а машину оставили под деревом. Пока ходили, прилетела стая пернатых и изрядно нагадили на крышу и капот. Пришлось машину загонять на мойку и мыть до состояния чистоты. После мойки малыш посмотрел на машину и выдал:
— Ну вот, птички посмотрят на машину и скажут: «Какали, какали и всё зря!»
Мама поинтересовалась у своего малыша:
— Чтобы ты хотел на свой день рождения?
— Лошадку, пистолет, и три дня не умываться!
Операторы PHP < < < В раздел > > > Управляющие конструкции в PHP
А нам, с устатку, и первач пойдёт. Ваше здоровье!!!
Навеяло.
Только при эмбарго видишь пользу суррогата.
Как пили виски, так и пьем 🙂
Хороший сайт.