Hướng dẫn dùng define anonymously trong PHP
Giới thiệuHàm ẩn danh là một hàm mà không có bất kỳ tên do người dùng xác định. Một chức năng như vậy cũng được gọi là chức năng đóng hoặc lambda. Đôi khi, bạn có thể muốn một chức năng sử dụng một lần. Đóng cửa là một chức năng ẩn danh đóng cửa môi trường được xác định. Bạn cần chỉ định sử dụng từ khóa trong đó. Sử dụng phổ biến nhất của hàm ẩn danh để tạo chức năng gọi lại nội tuyến.closure or lambda function. Sometimes, you may want a function for one time use. Closure is an anonymous function which closes over the environment in which it is defined. You need to specify use keyword in it.Most common use of anonymous function to create an inline callback function. Show
Nội dung chính Show
Cú pháp$var=function ($arg1, $arg2) { return $val; };
Ví dụ chức năng ẩn danhThí dụ& nbsp; bản demo trực tiếp Đầu raĐiều này sẽ tạo ra kết quả sau đây. - cube of 3 = 27 Hàm ẩn danh là gọi lạiTrong ví dụ sau, một hàm ẩn danh được sử dụng làm đối số cho hàm usort () tích hợp. Hàm usort () sắp xếp một mảng đã cho bằng cách sử dụng hàm so sánh Thí dụ& nbsp; bản demo trực tiếp $y; }); foreach ($arr as $x){ echo $x . " Đầu raĐiều này sẽ tạo ra kết quả sau đây. - 3 10 21 54 70 Hàm ẩn danh là gọi lạiTrong ví dụ sau, một hàm ẩn danh được sử dụng làm đối số cho hàm usort () tích hợp. Hàm usort () sắp xếp một mảng đã cho bằng cách sử dụng hàm so sánh Thí dụ& nbsp; bản demo trực tiếp Đầu raĐiều này sẽ tạo ra kết quả sau đây. - marks=285 percentage=95 Hàm ẩn danh là gọi lại
Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về các chức năng ẩn danh của PHP và cách sử dụng chúng một cách hiệu quả.: in this tutorial, you will learn about PHP anonymous functions and how to use them effectively. Giới thiệu về các chức năng ẩn danhKhi bạn xác định một hàm, bạn chỉ định một tên cho nó. Sau đó, bạn có thể gọi chức năng theo tên của nó. Ví dụ: để xác định một hàm nhân lên hai số, bạn có thể làm như sau:
Hàm cube of 3 = 272 chấp nhận hai đối số và trả về kết quả. Để gọi hàm cube of 3 = 272, bạn chuyển các đối số cho nó như thế này:
Trong ví dụ này, cube of 3 = 272 là một hàm được đặt tên. Và bạn có thể sử dụng lại nó bao nhiêu lần tùy thích. Bên cạnh các chức năng được đặt tên, PHP cho phép bạn xác định các hàm ẩn danh. Một hàm ẩn danh là một hàm không có tên. Ví dụ sau đây xác định hàm ẩn danh nhân lên hai số:
Vì hàm không có tên, bạn cần kết thúc nó bằng dấu chấm phẩy ( cube of 3 = 275) vì PHP coi nó là một biểu thức. Hàm ẩn danh này hoàn toàn không hữu ích vì bạn không thể sử dụng nó như một hàm được đặt tên. Để sử dụng hàm ẩn danh, bạn cần gán nó cho một biến và gọi hàm thông qua biến. Ví dụ sau đây gán hàm ẩn danh cho biến cube of 3 = 276:0 Và điều này gọi hàm ẩn danh thông qua biến cube of 3 = 276:1 Khi bạn đổ thông tin của biến cube of 3 = 276, bạn sẽ thấy rằng nó thực sự là một đối tượng cube of 3 = 279:2 Lưu ý rằng $y; }); foreach ($arr as $x){ echo $x . "0 trong PHP không giống như việc đóng trong các ngôn ngữ lập trình khác như JavaScript hoặc Python. Vì một hàm ẩn danh là một đối tượng, bạn có thể gán nó cho một biến, chuyển nó vào một hàm và trả lại từ một hàm. Chuyển một hàm ẩn danh cho một chức năng khácPHP có nhiều chức năng tích hợp chấp nhận chức năng gọi lại, ví dụ, hàm $y; }); foreach ($arr as $x){ echo $x . "1. Hàm $y; }); foreach ($arr as $x){ echo $x . "1 chấp nhận chức năng gọi lại và một mảng. Nó áp dụng chức năng gọi lại cho từng phần tử và bao gồm các kết quả trong một mảng mới. Ví dụ sau đây cho thấy cách nhân đôi mỗi số trong một mảng: 3Làm thế nào nó hoạt động.
Output: 4Ví dụ này hoạt động hoàn toàn tốt. Tuy nhiên, nó khá dài dòng. Và hàm $y; }); foreach ($arr as $x){ echo $x . "3 có thể được sử dụng một lần. Thay vào đó, ví dụ sau đây nhưng sử dụng chức năng ẩn danh: thay vào đó: 5Phạm vi của hàm ẩn danhTheo mặc định, một hàm ẩn danh không thể truy cập các biến từ phạm vi cha mẹ của nó. Ví dụ: 6PHP đã đưa ra thông báo sau: 7Trong ví dụ này, hàm ẩn danh cố gắng truy cập biến $y; }); foreach ($arr as $x){ echo $x . "7 từ phạm vi cha mẹ của nó. Tuy nhiên, nó không thể. Do đó, PHP đã đưa ra một thông báo. Để sử dụng các biến từ phạm vi cha mẹ bên trong hàm ẩn danh, bạn đặt các biến trong cấu trúc $y; }); foreach ($arr as $x){ echo $x . "8 như sau:8 Bây giờ, nó sẽ hoạt động chính xác. Lưu ý rằng $y; }); foreach ($arr as $x){ echo $x . "7 được chuyển đến hàm ẩn danh theo giá trị, không phải bằng tham chiếu. Nếu bạn thay đổi nó bên trong hàm ẩn danh, thay đổi sẽ không phản ánh bên ngoài hàm. Ví dụ:9 Trong ví dụ này, bên trong hàm ẩn danh Giá trị của $y; }); foreach ($arr as $x){ echo $x . "7 là 3 10 21 54 701. Tuy nhiên, bên ngoài hàm ẩn danh, giá trị của thông báo vẫn giống như 3 10 21 54 702. Nếu bạn muốn chuyển một biến cho một hàm ẩn danh bằng cách tham chiếu, bạn cần sử dụng toán tử 3 10 21 54 703 như ví dụ sau: cube of 3 = 270 Bây giờ, bạn thấy các tin nhắn 3 10 21 54 701 hai lần. Trả về một hàm ẩn danh từ một hàmVí dụ sau đây minh họa cách trả về một hàm ẩn danh từ một hàm: cube of 3 = 271 Làm thế nào nó hoạt động.
Bản tóm tắt
Bạn có thấy hướng dẫn này hữu ích không? Chức năng ẩn danh trong PHP đưa ra ví dụ là gì?Hàm ẩn danh là một hàm mà không có bất kỳ tên do người dùng xác định. Một chức năng như vậy cũng được gọi là chức năng đóng hoặc lambda. Đôi khi, bạn có thể muốn một chức năng sử dụng một lần. Đóng cửa là một chức năng ẩn danh đóng cửa môi trường được xác định. Bạn cần chỉ định sử dụng từ khóa trong đó.a function without any user defined name. Such a function is also called closure or lambda function. Sometimes, you may want a function for one time use. Closure is an anonymous function which closes over the environment in which it is defined. You need to specify use keyword in it. Chức năng ẩn danh có nghĩa là gì?Các hàm ẩn danh thường là các đối số được truyền đến các hàm bậc cao hơn hoặc được sử dụng để xây dựng kết quả của hàm bậc cao hơn cần trả về một hàm. Nếu hàm chỉ được sử dụng một lần hoặc số lần giới hạn, hàm ẩn danh có thể nhẹ hơn so với sử dụng hàm được đặt tên.often arguments being passed to higher-order functions or used for constructing the result of a higher-order function that needs to return a function. If the function is only used once, or a limited number of times, an anonymous function may be syntactically lighter than using a named function. Chức năng ẩn danh khác với hàm bình thường trong PHP như thế nào?Có hai sự khác biệt tinh tế nhưng quan trọng giữa ví dụ trên và định nghĩa hàm chính quy: không có tên hàm giữa từ khóa chức năng và dấu ngoặc đơn mở ('('). Điều này cho PHP rằng bạn đang tạo hàm ẩn danh. CóMột dấu chấm phẩy sau định nghĩa chức năng.There is no function name between the function keyword and the opening parenthesis ( '(' ). This tells PHP that you're creating an anonymous function. There is a semicolon after the function definition. Hàm ẩn danh giải thích nó với bất kỳ ví dụ phù hợp là gì?Một hàm ẩn danh là một hàm được khai báo mà không có bất kỳ định danh có tên nào để chỉ nó.Như vậy, một hàm ẩn danh thường không thể truy cập được sau khi tạo ban đầu.Định nghĩa chức năng bình thường: function hello () {alert ('hello world');} xin chào();a function that was declared without any named identifier to refer to it. As such, an anonymous function is usually not accessible after its initial creation. Normal function definition: function hello() { alert('Hello world'); } hello(); |