Функции PHP

Здравствуйте уважаемые начинающие программисты. В этой статье разговор пойдёт о функциях 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

Запись опубликована в рубрике PHP основы. Добавьте в закладки постоянную ссылку.

2 комментария на «Функции PHP»

  1. stariс говорит:

    А нам, с устатку, и первач пойдёт. Ваше здоровье!!!

  2. Юрий говорит:

    Навеяло.
    Только при эмбарго видишь пользу суррогата.
    Как пили виски, так и пьем 🙂

    Хороший сайт.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *