Hướng dẫn does php support arrow functions? - php có hỗ trợ các chức năng mũi tên không?

Các chức năng mũi tên được giới thiệu trong Php 7.4 dưới dạng cú pháp ngắn gọn hơn cho các hàm ẩn danh.

Cả hai chức năng ẩn danh và chức năng mũi tên đều được triển khai bằng cách sử dụng lớp đóng.Closure class.

Các hàm mũi tên có dạng cơ bản fn (argument_list) => expr.

Các hàm mũi tên hỗ trợ các tính năng tương tự như các hàm ẩn danh, ngoại trừ việc sử dụng các biến từ phạm vi cha luôn luôn tự động.

Khi một biến được sử dụng trong biểu thức được xác định trong phạm vi cha mẹ, nó sẽ được nắm bắt hoàn toàn bằng giá trị. Trong ví dụ sau, các chức năng $ FN1 và $ FN2 hoạt động theo cùng một cách.

Ví dụ #1 Hàm mũi tên Chụp các biến theo giá trị tự động

$y

1;$fn1 fn($x) => $x $y;
// equivalent to using $y by value:
$fn2 = function ($x) use ($y) {
    return 
$x $y;
};
var_export($fn1(3));
?>

Ví dụ trên sẽ xuất ra:

Điều này cũng hoạt động nếu các chức năng mũi tên được lồng:

Ví dụ #2 Hàm mũi tên Chụp các biến theo giá trị tự động, ngay cả khi lồng nhau

$z

1;
$fn fn($x) => fn($y) => $x $y $z;
// Outputs 51
var_export($fn(5)(10));
?>

Tương tự như các hàm ẩn danh, cú pháp hàm mũi tên cho phép chữ ký hàm tùy ý, bao gồm tham số và loại trả về, giá trị mặc định, variadics, cũng như chuyển và trả lại tham chiếu phụ. Tất cả những điều sau đây là các ví dụ hợp lệ về các hàm mũi tên:

Ví dụ #3 Ví dụ về các hàm mũi tên

fn

(array $x) => $x;
static 
fn(): int => $x;
fn($x 42) => $x;
fn(&$x) => $x;
fn&($x) => $x;
fn($x, ...$rest) => $rest;?>

Các hàm mũi tên sử dụng ràng buộc biến số giá trị. Điều này gần như tương đương với việc thực hiện 0 cho mỗi biến $ x được sử dụng bên trong hàm mũi tên. Một liên kết giá trị phụ có nghĩa là không thể sửa đổi bất kỳ giá trị nào từ phạm vi bên ngoài. Các chức năng ẩn danh có thể được sử dụng thay vì cho các ràng buộc By-ref.

Ví dụ #4 Giá trị từ phạm vi bên ngoài không thể được sửa đổi bởi các hàm mũi tên

2

3

Thay đổi

Phiên bảnSự mô tả
7.4.0 Các chức năng mũi tên đã có sẵn.

Invisiblesmiley ¶

1 năm trước

4

5

6

Koushil Mankali ¶

2 năm trước

7

8

9

$y0

ITSUNCLEXO tại gmail dot com ¶

1 năm trước

$y1

$y2

8

9

$y5

Koushil Mankali ¶

2 năm trước

$y6

$y7

$y8

6

Mũi tên được gọi trong PHP là gì?

Trong c ++, toán tử "->" được gọi là "thành viên của con trỏ" nhưng toán tử php "->" thực sự gần với "."toán tử trong C ++ và được gọi là "thành viên của đối tượng".member of object".

Chức năng của

Toán tử đối tượng, ->, được sử dụng trong phạm vi đối tượng để truy cập các phương thức và thuộc tính của một đối tượng.Ý nghĩa của nó là nói rằng những gì ở bên phải của toán tử là một thành viên của đối tượng được khởi tạo vào biến ở phía bên trái của toán tử.Instantiated là thuật ngữ chính ở đây.to access methods and properties of an object. It's meaning is to say that what is on the right of the operator is a member of the object instantiated into the variable on the left side of the operator. Instantiated is the key term here.

Các chức năng mũi tên có được hỗ trợ không?

Các chức năng mũi tên hoạt động trong tất cả các trình duyệt hiện đại, Safari 10 trở lên, và Chrome và Android 45 di động trở lên.Họ không có sự hỗ trợ IE.They have no IE support.