Анонимные функции
Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 1 из 68.
Анонимные функции, также известные как замыкания, — это функции без указанного имени. Они идеально подходят для коротких разовых задач, в которых создание полноценной именованной функции было бы излишним.
Чтобы создать анонимную функцию, вы используете ключевое слово function без имени функции, а затем присваиваете её переменной:
<?php
$greeting = function($name) {
echo "Hello, " . $name . "!";
};
?>Обратите внимание на точку с запятой после закрывающей фигурной скобки — это необходимо, так как вы присваиваете функцию переменной.
Чтобы вызвать анонимную функцию, используйте имя переменной, за которым следуют круглые скобки:
<?php
$greeting("Alice"); // Выводит: Hello, Alice!
?>Анонимные функции особенно полезны, когда вам нужна простая функция для конкретной задачи, не загромождая код именованными функциями, которые вы используете только один раз.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Задание
ЛегкоСоздайте анонимную функцию, которая принимает число в качестве параметра и возвращает квадрат этого числа. Присвойте эту функцию переменной с именем $square.
Вы получите число на вход. Прочитайте число, вызовите свою анонимную функцию с этим числом и выведите результат.
Формат входных данных: Одно число (может содержать десятичные дроби)
Ожидаемый результат: Квадрат входного числа
Шпаргалка
Анонимные функции (замыкания) — это функции без указанного имени, полезные для коротких разовых задач.
Создайте анонимную функцию, используя ключевое слово function без имени, а затем присвойте её переменной:
<?php
$greeting = function($name) {
echo "Hello, " . $name . "!";
};
?>Обратите внимание, что точка с запятой после закрывающей фигурной скобки обязательна при присваивании функции переменной.
Вызовите анонимную функцию, используя имя переменной, за которым следуют круглые скобки:
<?php
$greeting("Alice"); // Выводит: Hello, Alice!
?>Попробуйте сами
<?php
// Чтение входных данных
$number = floatval(fgets(STDIN));
// TODO: Создайте анонимную функцию и присвойте её переменной $square
// Вызов функции и вывод результата
echo $square($number);
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеров