PHP 的箭头函数(也称为匿名函数或闭包函数)是一种简洁的定义单表达式函数的方法。这种语法是从 PHP 7.4 版本开始引入的,它使得创建简短的一次性使用的函数变得更加方便。
箭头函数的基本语法如下:
fn($parameters) => $return_value;
这里 $parameters
是一个或多个参数列表,$return_value
是箭头函数返回的值。
$greeting = fn() => 'Hello, world!'; echo $greeting(); // 输出: Hello, world!
$add = fn(int $a, int $b) => $a + $b; echo $add(5, 3); // 输出: 8
use
关键字显式声明。$x = 10; $increaseX = fn() use (&$x) => $x++; echo $increaseX(); // 输出: 11 echo $x; // 输出: 11
$square = fn(int $n): int => $n * $n; echo $square(4); // 输出: 16
$createPoint = fn(int $x, int $y): object => (object)['x' => $x, 'y' => $y]; $point = $createPoint(1, 2); var_dump($point); // 输出: object(stdClass)#1 (2) { ["x"]=> int(1) ["y"]=> int(2) }
$divide = fn(int $a, int $b) => $a / $b ?: throw new Exception('Cannot divide by zero.'); try { echo $divide(10, 0); } catch (Exception $e) { echo $e->getMessage(); // 输出: Cannot divide by zero. }
$array = [1, 2, 3, 4, 5]; $result = array_map(fn($value) => $value * 2, $array); print_r($result); // 输出: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )