Короткий ответ: функцию в PHP объявляют через ключевое слово function, имя функции, круглые скобки с параметрами и тело в фигурных скобках. Если функция должна вернуть результат, используйте return
Функция нужна, когда один и тот же кусок логики не хочется повторять в разных местах. Например, очистить строку, посчитать цену со скидкой, проверить email или сформировать текст сообщения
Минимальная функция
<?php
function sayHello(): void
{
echo 'Привет';
}
sayHello();
sayHello() объявлена один раз, а вызвать ее можно много раз
Функция с параметром
<?php
function greet(string $name): string
{
return 'Привет, ' . $name;
}
echo greet('Динар');
Параметр $name передается внутрь функции. return возвращает готовую строку туда, где функция была вызвана
Функция с несколькими параметрами
<?php
function calculateTotal(int $price, int $quantity): int
{
return $price * $quantity;
}
echo calculateTotal(500, 3);
Результат
1500
Такую функцию проще проверять и переиспользовать, чем каждый раз писать расчет руками
Значение по умолчанию
<?php
function formatPrice(int $price, string $currency = 'руб.'): string
{
return $price . ' ' . $currency;
}
echo formatPrice(1200);
echo formatPrice(20, '$');
Если второй аргумент не передан, PHP использует руб.
Тип возвращаемого значения
В примере ниже : string означает, что функция должна вернуть строку
<?php
function cleanName(string $name): string
{
return trim($name);
}
Типы помогают раньше заметить ошибку. Если функция обещает строку, но возвращает массив, это будет видно быстрее
Практический пример для формы
<?php
function cleanInput(string $value): string
{
return trim($value);
}
function isValidEmail(string $email): bool
{
return filter_var($email, FILTER_VALIDATE_EMAIL) !== false;
}
$email = cleanInput($_POST['email'] ?? '');
if (!isValidEmail($email)) {
echo 'Email указан неверно';
exit;
}
echo 'Email можно использовать';
Здесь две маленькие функции делают код понятнее: одна очищает строку, другая проверяет email
Где объявлять функции
В маленьком учебном файле функцию можно объявить в начале файла. В реальном проекте функции обычно выносят в отдельный файл и подключают через require
<?php
require __DIR__ . '/helpers.php';
echo formatPrice(1500);
Так код не превращается в один огромный файл
Мини-практика
Напишите функцию makePreview(string $text, int $limit): string, которая обрезает текст до заданной длины и добавляет многоточие, если строка была длиннее лимита. Для русского текста используйте mb_substr() и mb_strlen()
Частые ошибки
Путают объявление и вызов function greet() {} объявляет функцию, greet() вызывает ее
Забывают return Если функция должна вернуть результат, одного echo внутри недостаточно
Делают функцию слишком большой Хорошая учебная функция обычно делает одну понятную вещь
Используют переменные снаружи без передачи параметров Лучше передавать данные в функцию явно через аргументы
Что почитать дальше по PHP
Если нужен общий маршрут по теме, откройте рубрику PHP. Для соседних задач пригодятся эти разборы:
- Как узнать параметры PHP на хостинге через phpinfo и код
- Composer в PHP: установка пакетов без ручного копирования
- Joomla: как убрать index.php из адреса сайта
- Laravel: первый route и controller для новичка



