Функции в PHP: что это такое и как они работают
- 28 июня 2021
Функция — это кусочек кода, которому дали имя.
В обычную переменную можно записать число, строку или массив, а затем получить его обратно, обратившись к значению по имени переменной. Функции устроены похожим образом, только вместо строки или числа в ней хранится блок кода, который вызывается при использовании этой «переменной».
Функции помогают повторно использовать код, который нужен во многих местах программы. Если бы функций не существовало, пришлось бы копировать и вставлять фрагмент кода каждый раз, когда он понадобится. А так достаточно написать функцию один раз и вызывать её каждый раз, когда она нужна.
Функции нужны, чтобы не переписывать один и тот же код много раз.
Какие бывают функции
Функции бывают встроенные и пользовательские.
Встроенные функции за вас уже написали создатели языка, и вы можете просто брать их и использовать. В PHP существуют тысячи готовых функций на все случаи жизни — например, sort()
для сортировки массивов, print()
для вывода строк на экран или функции для работы с базами данных.
Полный список встроенных функций в PHP
С ними программировать будет проще
Пользовательские функции программисты пишут сами — например, чтобы проверить данные пассажира по номеру авиабилета или определить, високосный ли сейчас год. Эти функции, как правило, используются только внутри одного проекта, но бывают исключения — и такие функции выносят в библиотеки.
Аргументы функции и область видимости
Функция — это как бы программа в программе. Это значит, что внутри неё не будут доступны переменные, которые определялись за её пределами. Чтобы передать внутрь функции информацию извне, нужно использовать аргументы функции.
Аргументы функции — это переменные, которые мы передаём в функцию для обработки. Аргументов может быть несколько.
Пример. Мы хотим показывать на сайте, является ли выбранный пользователем год високосным. Напишем функцию, в которую будем передавать год. В результате работы функции мы должны получить true
, если год високосный, и false
— если нет.
В такой функции нам нужен только один аргумент — номер выбранного года $year
.
<?php
function is_leap_year($year) {
Функция «не видит» переменные, которые мы создали за её границами. Поэтому переменные в функцию нужно передавать явно — то есть, через аргументы.

Верно и обратное — переменные, определённые внутри функции, не будут доступны извне. Такие переменные называются локальными, потому что они локальны по отношению к функции.
В отличие от аргументов, которых может быть несколько, вернуть во внешний код функция может только одно значение — с помощью инструкции «return» (возврат). Возвращаемое значение называют результатом работы функции.
Как использовать функции
Функция состоит из нескольких частей:
- имени функции,
- аргументов, которые передаются в функцию,
- тела функции,
- оператора return, который отвечает за возврат результата в сценарий.
Аргументов в функции может и не быть — тогда она называется подпрограммой.
То есть объявление функции выглядит примерно так:
<?php
function <имя функции>(<аргумент функции>) {
<тело функции>
return <результат выполнения функции>;
}
Давайте напишем настоящую функцию, которая по номеру года вычисляет, високосный ли он. Так будет проще понять, как устроены функции.

Что нужно запомнить:
- Функция — это кусочек кода, которому дали имя.
- Функции нужны, чтобы не переписывать один и тот же код много раз.
- В функцию можно передать много переменных, но вернуть только что-то одно.
- Переменные внутри функции недоступны снаружи, внешние переменные нужно передавать через аргументы.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
Читать дальше


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


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


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


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

Объекты и классы в PHP
Анатомия объектов и зависимость их от классов, пример создания
- 10 сентября 2022
