Основные отличия между анонимными и стрелочными функциями в PHP:
- Анонимные функции позволяют создавать функции без имени. 37 Они локальны относительно контекста и доступны там, где они были созданы. 5
- Стрелочные функции — это те же анонимные функции, но с компактным синтаксисом. 5 Они удобны в тех ситуациях, где тело функции занимает одну строку. 5 Стрелочные функции автоматически имеют доступ к переменным из внешнего окружения. 2
Кроме того, стрелочные функции привязывают переменные по значению, что означает, что внутри них невозможно изменить значения из внешней области видимости. 10
Стрелочные функции появились в PHP 7.4 как лаконичный синтаксис для анонимных функций. 10