php箭头函数

2021-10-15
  1. PHP 7.4 的新语法,是一种更简洁的匿名函数写法。
  2. 是Closure类的实现。
  3. 箭头函数支持与匿名函数相同的功能,只是其父作用域的变量总是自动的。
  4. 当表达式中使用的变量是在父作用域中定义的,它将被隐式地按值捕获
  5. 外部范围的值不能在箭头函数内修改
  6. 箭头函数语法同样允许标准的函数声明,包括参数和返回类型、缺省值、变量,以及通过引用传递和返回
<?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));
?>

 

{/if}