В версии PHP 7.4 появились стрелочные функции, которые позволяют писать анонимные функции более кратко.

Синтаксис

Особенности синтаксиса:
  • стрелочная функция начинается с ключевого слова fn;
  • может содержать только одно выражение, результат которого возвращается автоматически.
Стрелочная функция эквивалентна следующей анонимной функции:
Главное отличие: стрелочные функции автоматически получают доступ к переменным из родительской области видимости.

Присваивание стрелочной функции переменной

Как это работает:
  1. Определяем стрелочную функцию и присваиваем её переменной $eq. Она возвращает true, если аргументы равны.
  2. Вызываем функцию через переменную $eq.

Передача стрелочной функции в другую функцию

Результат выполнения:
В этом примере array_map() применяет стрелочную функцию к каждому элементу массива $list и возвращает новый массив с результатами.

Возврат стрелочной функции из функции

Как это работает:
  1. Определяем функцию multiplier(), которая принимает аргумент и возвращает функцию-стрелку. Благодаря доступу к родительской области видимости, внутри стрелочной функции можно использовать параметр $x.
  2. Вызываем multiplier() и присваиваем результат переменной $double. Теперь $double - это функция, которую можно вызвать.

Итог

Стрелочная функция - это сокращённый синтаксис для написания коротких анонимных функций. Она начинается с ключевого слова fn, содержит только одно выражение и автоматически получает доступ к переменным из родительской области видимости.