
称为箭头函数的短闭包是PHP7.4版本将带来的期待已久的功能之一。它是由 Nikita Popov、Levi Morrison 和 Bob Weinand 提出的,你可以在此处阅读原 RFC
相关学习推荐:PHP编程从入门到精通
摘自 Doctrine DBAL 的快速示例
//老办法 $this->existingSchemaPaths = array_filter($paths, function ($v) use ($names) { return in_array($v, $names); }); // 使用箭头函数的新方法 $this->existingSchemaPaths = array_filter($paths, fn($v) => in_array($v, $names));
fn是关键字,而不是保留的函数名称。rereturn和use关键字。$this变量,作用域和 LSB 作用域自动绑定。&和 展开操作符...//作用域示例 $discount = 5; $items = array_map(fn($item) => $item - $discount, $items); //类型提示 $users = array_map(fn(User $user): int => $user->id, $users); //展开操作符 function complement(callable $f) { return fn(...$args) => !$f(...$args); } //嵌套 $z = 1; $fn = fn($x) => fn($y) => $x * $y + $z; //有效的函数签名 fn(array $x) => $x; fn(): int => $x; fn($x = 42) => $x; fn(&$x) => $x; fn&($x) => $x; fn($x, ...$rest) => $rest;
//现今 class Test { public function method() { $fn = fn() => var_dump($this); $fn(); // object(Test)#1 { ... } $fn = static fn() => var_dump($this); $fn(); // Error: Using $this when not in object context } } //也许在未来的某一天 class Test { private $foo; private $bar; fn getFoo() => $this->foo; fn getBar() => $this->bar; }
use关键字便问变量。让我知道你对这些更新有什么看法,你最喜欢的收获是什么?
感谢阅读。
Atas ialah kandungan terperinci PHP中箭头函数的实例详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Bagaimana untuk membuka fail php
Perbezaan antara fungsi anak panah dan fungsi biasa
Bagaimana untuk mengalih keluar beberapa elemen pertama tatasusunan dalam php
Apa yang perlu dilakukan jika penyahserialisasian php gagal
Bagaimana untuk menyambungkan php ke pangkalan data mssql
Bagaimana untuk menyambung php ke pangkalan data mssql
Perbezaan antara fungsi anak panah dan fungsi biasa
Bagaimana untuk memuat naik html