29、PHP 原生魅力 - 函数 - 箭头函数
箭头函数类似于匿名函数,但它们具有更简洁的语法和有限的用法。
<?php
// 定义一个经典函数
function sum(int $x, int $y):int {
return $x + $y;
}
// 定义一个匿名函数
$sumAnonymous = function (int $x, int $y): int {
return $x + $y;
};
// 定义一个箭头函数
$sumArrow = fn (int $x, int $y): int => $x + $y;
echo sum(1, 1) . PHP_EOL;
echo $sumAnonymous(2,3) . PHP_EOL;
echo $sumArrow(5, 5) . PHP_EOL;
输出如下:
$ php 29-arrow-func.php
2
5
10
匿名函数与箭头函数之间的另一个区别在于,箭头函数对其“外部”作用域具有可见性。在下一个示例中,两个变量 $a 和 $b 在箭头函数外部声明并初始化,然后在箭头函数的表达式中被使用。
<?php
$a = 2;
$b = 2;
$sum = fn() => $a + $b;
echo $sum() . PHP_EOL;
输出如下:
$ php 29-arrow-func.php
4
请登录后再评论