The PHP "fn" Keyword: A Comprehensive Guide

The "fn" keyword is a feature that was introduced in PHP 7.4, and is used to create arrow functions. Arrow functions are a shorthand notation for creating anonymous functions, and are particularly useful when working with arrays and callbacks. In this article, we will explore the syntax and usage of the "fn" keyword in depth, and provide plenty of examples to help you master this important PHP feature.


The "fn" keyword is used to create arrow functions in PHP. Here is the basic syntax for using the "fn" keyword:

$arrowFunction = fn ($parameter) => expression;

In this example, the "fn" keyword is used to create an arrow function that takes a single parameter and returns an expression.


Let's look at some practical examples of how the "fn" keyword can be used:


// Example 1
$numbers = [1, 2, 3, 4, 5];

$sum = array_reduce($numbers, fn($carry, $number) => $carry + $number);

echo $sum . PHP_EOL; // Output: 15

// Example 2
$names = ["John", "Maryjane", "Paul", "Jane"];

$filteredNames = array_filter($names, fn($name) => strlen($name) > 4);

print_r($filteredNames); // Output: Array ([1] => Maryjane )

In these examples, we use the "fn" keyword to create arrow functions that are used with array functions like "array_reduce" and "array_filter".


Using the "fn" keyword has several benefits, including:

  • Improved code readability: The "fn" keyword can help you write more concise and readable code, especially when working with arrays and callbacks.
  • Simplified code: Arrow functions can help you simplify your code by allowing you to create anonymous functions more easily, without having to write out the "function" keyword and curly braces.


In conclusion, the "fn" keyword is a powerful tool for PHP developers who are working with arrow functions in PHP 7.4 or later. It allows you to create anonymous functions more easily and concisely, improving the readability and simplicity of your code. We hope this comprehensive guide has been helpful, and we wish you the best of luck as you continue to develop your PHP skills.

Do you find this helpful?