注意 本功能需 PHP >= 7.4 可用
概述
箭头函数是 PHP 7.4 的新语法,是一种更简洁的 匿名函数 写法。
匿名函数和箭头函数都是 Closure 类的实现。
箭头函数的基本语法为 fn (argument_list) => expr。
箭头函数支持与 匿名函数 相同的功能,只是其父作用域的变量总是自动的。
当表达式中使用的变量是在父作用域中定义的,它将被隐式地按值捕获。
基本用法
<?php
// demo_1 传参
$a = fn($name): string => "name: ${name}";
echo $a('luotianyiovo');
// outPut: name: luotianyiovo
// demo_2 传参以及引用
$str = "name:"
$a = fn($name): string => "${str} ${name}";
echo $a('luotianyiovo');
// outPut: name: luotianyiovo
// demo_3 对象
class test {
public function out() {
echo 'success';
return $this;
}
}
$a = fn(): test => (new test) -> out();
var_export($a()::class);
// outPut: success 'test'
// demo_4 数组
$a = fn(): array ['a' => 1];
var_dump($a());
// demo_5 嵌套
$a = fn($number) => fn($num) => $number + $num;
var_export($a(5)(10));
// outPut: 15