- PHP 7.4 的新语法,是一种更简洁的匿名函数写法。
- 是Closure类的实现。
- 箭头函数支持与匿名函数相同的功能,只是其父作用域的变量总是自动的。
- 当表达式中使用的变量是在父作用域中定义的,它将被隐式地按值捕获
- 外部范围的值不能在箭头函数内修改
- 箭头函数语法同样允许标准的函数声明,包括参数和返回类型、缺省值、变量,以及通过引用传递和返回
<?php
$y = 1;
$fn1 = fn($x) => $x + $y;
// 相当于 using $y by value:
$fn2 = function ($x) use ($y) {
return $x + $y;
};
var_export($fn1(3));
?>
echo 4
箭头函数嵌套
<?php
$z = 1;
$fn = fn($x) => fn($y) => $x * $y + $z;
// 输出 51
var_export($fn(5)(10));
?>