В 12 уроке мы разберем одну из самых важных тем в программировании, это функции. Если вы мечтаете писать чистый, структурированный и повторно используемый код, то этот урок станет вашим надежным компасом.
Что такое функции?
Представьте, что вы каждый день готовите кофе. Вместо того чтобы повторять одни и те же действия (налить воду, добавить кофе, включить чайник), вы можете создать «функцию», например купить кофемашину. Нажали кнопку, получили результат. В программировании функции работают аналогично: это блок кода, который выполняет определенную задачу и может быть вызван многократно.
Преимущества функций:
- Повторное использование кода — не нужно копировать одни и те же строки.
- Упрощение отладки — исправляем ошибку в одном месте, а не в 100.
- Структурирование программы — код становится читаемым и логичным.
Создание пользовательских функций
Любую функцию в PHP можно создать с помощью ключевого слова function
.
Синтаксис:
function имяФункции() { // Код, который выполняется при вызове функции }
Пример: Простая функция
Создадим функцию, которая выводит приветствие:
function sayHello() { echo "Привет, мир! Я изучаю PHP!"; } // Вызов функции sayHello(); // Выведет: Привет, мир! Я изучаю PHP!
Передача параметров в функции
Функции становятся по-настоящему мощными, когда могут принимать параметры, точнее данные для обработки.
Синтаксис с параметрами:
function имяФункции($параметр1, $параметр2, ...) { // Используем параметры внутри функции }
Пример: Функция с параметрами
Напишем функцию, которая приветствует пользователя по имени:
function greetUser($name) { echo "Привет, $name! Рады видеть тебя!"; } greetUser("Анна"); // Привет, Анна! Рады видеть тебя! greetUser("Иван"); // Привет, Иван! Рады видеть тебя!
Пример: Несколько параметров
Функция сложения двух чисел:
function addNumbers($a, $b) { $sum = $a + $b; echo "Сумма $a и $b равна $sum"; } addNumbers(5, 3); // Сумма 5 и 3 равна 8
Возврат значений из функций
Часто функции не просто выводят результат, а возвращают его для дальнейшей работы. Для этого используется return
.
Пример: Возврат значения
Модернизируем функцию сложения:
function addNumbers($a, $b) { return $a + $b; } $result = addNumbers(10, 20); echo $result; // 30
Важно:
- После выполнения
return
функция завершает работу. - Можно возвращать любые типы данных: строки, массивы, объекты.
Пример: Возврат массива
Функция, которая создает массив из четных чисел:
function createEvenArray($limit) { $arr = []; for ($i = 2; $i <= $limit; $i += 2) { $arr[] = $i; } return $arr; } $numbers = createEvenArray(10); print_r($numbers); // [2, 4, 6, 8, 10]
Типы параметров и возвращаемых значений
В PHP 7+ можно указывать типы данных для параметров и возвращаемого значения. Это делает код предсказуемее.
Пример: Указание типов
function multiply(float $a, float $b): float { return $a * $b; } echo multiply(2.5, 4); // 10.0
Практические примеры
Давайте закрепим теорию на реальных задачах.
Задача 1: Проверка четности числа
Напишите функцию, которая принимает число и возвращает true
, если оно четное, и false
— если нет.
Решение:
function isEven($number) { return $number % 2 == 0; } var_dump(isEven(4)); // bool(true) var_dump(isEven(7)); // bool(false)
Задача 2: Генератор случайного пароля
Создайте функцию, которая генерирует пароль заданной длины.
Решение:
function generatePassword($length = 8) { $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()'; $password = ''; for ($i = 0; $i < $length; $i++) { $password .= $chars[rand(0, strlen($chars) - 1)]; } return $password; } echo generatePassword(12); // Например: pA3$kL9!qZx2
Практические задачи для самостоятельного решения
- Калькулятор площади прямоугольника.
Напишите функциюcalculateRectangleArea()
, которая принимает ширину и высоту, возвращает площадь. - Приветствие с возрастом.
Создайте функциюgreet()
, которая принимает имя и возраст, и выводит: «Привет, [Имя]! Тебе [Возраст] лет.» - Проверка палиндрома.
Реализуйте функциюisPalindrome()
, которая проверяет, является ли строка палиндромом (читается одинаково слева направо и справа налево). - Конвертер валют.
Напишите функциюconvertCurrency()
, которая конвертирует рубли в доллары по текущему курсу (курс передается как параметр).
Функции превращают хаотичный код в упорядоченную систему с которой легко работать. Создавайте функции для часто повторяющихся задач, играйте с параметрами и возвращаемыми значениями.
Пишите функции так, будто их будет читать ваш будущий коллега. Имя функции должно четко отражать её цель, а код внутри быть простым и понятным.
Хотите погрузиться глубже? Полный курс по PHP для начинающих, в нем 40 уроков теории, практика и многое другое!