Hướng dẫn what is the use of lambda function in php? - công dụng của hàm lambda trong php là gì?

Php 5.3 bắt đầu với việc thêm các tính năng mới trong PHP thay đổi trò chơi mãi mãi trong ngôn ngữ. Đây là các chức năng/đóng tên và không gian tên Lambda. Ở đây trong hướng dẫn này, chúng tôi sẽ khám phá các chức năng Lambda và đóng cửa trong PHP với một số ví dụ thực tế.

Trong hướng dẫn này, chúng tôi sẽ xem xét chức năng Lambda & đóng với một ví dụ mã hóa để hiểu dễ dàng.

Vì vậy, vào năm 2008, một RFC [yêu cầu cho bình luận] đã được đề xuất bởi Christian Seiler, Dmitry Stogov, trong đó đề xuất rằng không cần hỗ trợ đóng cửa,

OUTPUT - 

44
4 không đủ hữu ích để thêm chúng vào PHP.

Hàm Lambda đóng một vai trò quan trọng trong việc phát triển chức năng đóng. Đầu tiên, chúng tôi sẽ hiểu về chức năng Lambda, và sau đó chúng tôi sẽ thấy mối quan hệ của nó với sự đóng cửa.

Hàm Lambda trong PHP là gì?

Hàm Lambda đã được thêm vào trong PHP 5.3 & nó là một hàm PHP ẩn danh có thể được lưu trữ trong một biến và được truyền như một đối số cho các chức năng/phương thức khác.

Ghi chú::

Hàm ẩn danh - Như tên chỉ ra, đó là một hàm được khai báo mà không có bất kỳ tên nào để gọi nó. Do đó chức năng ẩn danh thường không thể truy cập trực tiếp sau khi tạo ra.

Hàm ẩn danh cũng có thể được tìm thấy trong các ngôn ngữ khác nhau như JavaScript, Java, C#, v.v.

Trước PHP 5.3, hành vi trên là có thể sử dụng create_function [], nhưng vì chức năng này hoạt động nội bộ một & nbsp; eval [] & nbsp; [đang có một số vấn đề bảo mật] và cũng có hiệu suất và sử dụng bộ nhớ xấu. Do đó, sử dụng chức năng Lambda nếu một máy chủ được cài đặt với

OUTPUT - 

44
5.
OUTPUT - 

44
5
.

Hãy để hiểu chức năng Lambda với ví dụ đơn giản -

OUTPUT - 

44

Trong ví dụ trên, chúng tôi đã xác định chức năng Lambda và gán nó cho $ thêm. Chúng ta có thể thấy rằng chức năng Lambda này không có tên. Cấu trúc đơn giản-

Chúng tôi đã xác định chức năng và chuyển hai tham số vào đó, trên đó chúng tôi sẽ thực hiện hoạt động bổ sung và sau đó chúng tôi sẽ sử dụng câu lệnh trả về để trả về giá trị kết quả đó.

Nhưng làm thế nào để gọi chức năng này? Hoặc làm thế nào hàm Lambda này sẽ nhận được giá trị và trả lại từ nơi nó được gọi? Do đó chúng tôi đã chỉ định nó cho một biến.

Sau đó, chúng tôi sử dụng biến $ thêm đó làm tên hàm và chuyển hai số nguyên làm tham số. Khi chúng tôi nhận được đầu ra thì chúng tôi chỉ in nó. Đơn giản, có phải là nó không?

Bây giờ, chúng tôi sẽ thấy, làm thế nào để vượt qua chức năng Lambda như một tham số hàm trong PHP. Hãy để sử dụng cùng một ví dụ-
Let’s use the same example-

OUTPUT - 

SUM: 44

Trong ví dụ trên, chúng tôi đã xác định hàm print_addition [] và sau đó chuyển $ thêm biến [hàm lambda] làm tham số. Vì vậy, hàm Lambda đầu tiên sẽ được thực thi và sẽ trả về 44 và sau đó giá trị 44 này được truyền dưới dạng tham số cho hàm print_addition []. Điều này sẽ in đầu ra là

OUTPUT - 

44
6
OUTPUT - 

44
6

Bây giờ, chúng tôi đã học được chức năng Lambda và cú pháp của nó là gì. Bây giờ, chúng tôi sẽ tập trung vào những gì đóng cửa trong PHP và việc sử dụng nó.

Các cách sử dụng chức năng Lambda khác nhau

1. Gán chức năng Lambda/Anonymous cho một mảngAssigning Lambda/Anonymous function to an Array

Trong ví dụ trên, chúng tôi đã xác định một mảng $ mảng và chức năng Lambda được gán cho một phần tử mảng $ mảng [’bổ sung] và cuối cùng chúng tôi đã thực thi chức năng đó bằng cách sử dụng mảng và sử dụng phần tử khóa thích hợp [‘ bổ sung].

2. Truyền chức năng đóng/ẩn danh dưới dạng tham số - Way 1Passing closure/anonymous function as parameter – way 1

Trong trường hợp này, chúng tôi đã vượt qua chức năng đóng/ẩn danh được lưu trữ trong biến cho hàm cùng với các số cần thiết để thêm. Vì vậy, bên trong print_addition [], chúng tôi đã gọi chức năng Lambda và vượt qua hai tham số và nó sẽ trả về tổng.

3. Truyền chức năng đóng/ẩn danh dưới dạng tham số - Way 2Passing closure/anonymous function as parameter – way 2

Trong trường hợp này, chúng tôi đã thông qua chức năng đóng/ẩn danh trực tiếp dưới dạng tham số cho hàm cùng với các số cần thiết để thêm. Vì vậy, bên trong print_addition [], chúng tôi đã gọi chức năng Lambda và vượt qua hai tham số và nó sẽ trả về tổng.

Tại sao sử dụng chức năng Lambda trong PHP?

Các hàm Lambda rất hữu ích khi nó được yêu cầu chỉ sử dụng chức năng một lần. Về cơ bản khi chúng ta tạo một chức năng có sẵn ở phạm vi toàn cầu và để sử dụng nó một lần trong một chức năng cụ thể không có ý nghĩa gì.

Vì vậy, một cách tốt hơn là làm cho chức năng đó như một hàm Lambda và biến nó thành một phần trong chức năng/phương thức tùy chỉnh của bạn.

Đóng cửa trong PHP là gì?

Việc đóng cũng là một hàm Lambda/ẩn danh cũng có thể kế thừa các biến từ phạm vi cha. Nó có nghĩa là, nó có thể truy cập một biến được xác định bên ngoài phạm vi của nó nơi nó được xác định.

Để truy cập các biến bên ngoài bên trong hàm Lambda, chúng ta cần sử dụng sử dụng cấu trúc ngôn ngữ.

Bài Viết Liên Quan

Chủ Đề