Содержание
fn — это сокращённый синтаксис для анонимных функций в PHP, появившийся с версии PHP 7.4. Он называется Arrow Function (стрелочная функция), и это аналог function(...) { ... }, но компактнее.
Ключевые особенности fn
- Автоматически используют внешние переменные (by value)
— безuse ($var). - Короткий синтаксис — идеально для
array_map,array_filter,usortи т.д.
// Пример 1 — обычная функция:
$double = function($x) {
return $x * 2;
};
// Пример 2 — стрелочная функция
$double = fn($x) => $x * 2;
Пример с array_map:
$nums = [1, 2, 3];
$result = array_map(fn($n) => $n * 10, $nums);
// [10, 20, 30]
Важно:
- Стрелочные функции всегда возвращают значение (нет
return). - Тело функции — только одно выражение.
- Стрелочные функции (arrow functions) в PHP не могут содержать фигурные скобки и многострочную логику.
Так нельзя!
fn($n) => {
return $n * 2;
};
Ошибка:
Unexpected '{' — стрелочные функции не используют фигурные скобки.
