29、PHP 原生魅力 - 函数 - 箭头函数

作者: 温新

图书: 【原生 PHP 魅力】

阅读: 137

时间: 2024-09-08 00:04:03

箭头函数类似于匿名函数,但它们具有更简洁的语法和有限的用法。

<?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
请登录后再评论