Функции
- 10 сентября 2022
Функция — это блок кода, который может быть именован и вызван повторно. Иногда функцию ещё называют подпрограммой.
Обычной переменной присваивают число, строку или массив, а затем получают его обратно, обратившись к значению по имени переменной. Функции устроены похожим образом. Это тоже переменная, только вместо строки или числа в функции хранится блок кода, который вызывается при использовании этой «переменной».
Функция — очень мощный инструмент повторного использования кода. Создав свою функцию и записав туда необходимый код, вы сможете вызывать и использовать его столько раз, сколько необходимо. В противном случае пришлось бы копировать и вставлять фрагмент кода каждый раз, когда он понадобится.
Чтобы упростить себе работу, оформите в виде функции часть кода, используемую в сценарии несколько раз. Затем, вместо копирования и вставки этой части, нужно будет только вызывать функцию, как если бы мы обращались к переменной.
Типы функций
Разделяют два типа функций — встроенные и пользовательские.
Встроенные функции — функции, которые за нас уже написали создатели языка программирования, можем просто брать их и использовать. В PHP существуют тысячи готовых функций на все случаи жизни!
Одна из хорошо знакомых функций — функция, которая выводит переданный ей текст на экран — print()
.
Пользовательские функции программист создаёт самостоятельно. Эти функции используются только внутри одного проекта или сценария.
Анатомия функций
Работа с функциями состоит из объявления и использования.
Перед тем как использовать новую функцию, следует её объявить:
<?php
function <имя функции>(<аргумент функции>) {
<тело функции>
return <результат выполнения функции>;
}
Пояснить все составные части функции проще всего на примере.
Допустим, на своём сайте мы хотим показывать, является ли выбранный пользователем год високосным. Для этого напишем функцию, в которую передаётся год. В результате работы функции мы хотим получить значение «истина», если год високосный, и «ложь» — если нет.
Определение такой функции:
<?php
function is_leap_year($year) {
if ($year % 4 != 0) {
return false;
}
elseif ($year % 100 == 0) {
if ($year % 400 == 0) {
return true;
}
else {
return false;
}
}
else {
return true;
}
}
Пример использования функции:
<?php
$year = 2034;
if (!is_leap_year($year)) {
print("2034 год - простой");
}
else {
print ("2034 год - високосный");
}
Потренироваться использовать функции в PHP можно в этом тренажёре.
Аргументы функции и область видимости
Наша функция умеет вычислять, является ли переданный год високосным.
Так как функция — это программа в программе, то внутри неё не будут доступны переменные, которые определялись за её пределами. Чтобы передать внутрь функции информацию извне, нужно использовать аргументы функции.
Аргументы функции — это переменные, которые функция может получить из внешнего кода. В примере с is_leap_year
такая переменная была только одна — $year
.
Верно и обратное — переменные, определённые внутри функции, не будут доступны извне. Такие переменные называются локальными, потому что они локальны по отношению к функции.
В отличие от аргументов, которых может быть несколько, вернуть во внешний код функция может только одно значение — с помощью инструкции return (возврат). Возвращаемое значение называют результатом работы функции.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше


10 популярных функций в MYSQL, которые вам нужно знать
Вы встретитесь с ними — даже не сомневайтесь.
- 17 января 2023


Массивы в PHP
Как хранить в них данные, что такое индекс и в чём особенность ассоциативных массивов.
- 10 ноября 2022


Массивы $_POST и $_GET в PHP. Обработка форм
Достаём данные из HTML-форм на PHP.
- 20 октября 2022


Шаблонизация в PHP
Из чего состоит шаблон, что такое функция-шаблонизатор и пример её использования.
- 10 сентября 2022

Протокол HTTP и работа с заголовками
Суть работы HTTP и разбор параметров запроса
- 10 сентября 2022

Защита от SQL-инъекций
Принципы атаки, операция экранирования и подготовленные запросы
- 10 сентября 2022