Hướng dẫn hàm ẩn danh php

Các hàm ẩn danh [anonymous function] là các hàm chỉ sử dụng duy nhất một lần. Nó có thể được định nghĩa vào bất cứ lúc nào, và thường gắn với một biến hoặc gán vào một hàm khác như một tham số . Các hàm này chỉ tồn tại trong phạm vi của biến mà nó được định nghĩa, vì vậy khi biến đó vượt ra ngoài phạm vi, thì hàm này cũng không còn nữa.

Cú pháp:

function []{
  // Chú ý không có tên hàm
}

Cách sử dụng hàm ẩn danh.

Bởi vì các hàm này không có tên, nên chúng ta không thể gọi nó như một chức năng thường xuyên. Thay vào đó ta phải gán nó vào một biến hoặc cho vào 1 hàm khác khác như là một tham số.

Ví dụ:

	

Xem ví dụ

Truyền tham số.

Xem ví dụ

Để sử dụng các hàm ẩn danh, chúng ta gán nó vào một biến và sau đó gọi là biến như là một function như trên. Hoặc sử dụng hàm ẩn danh như thế này.

Ví dụ:

Xem ví dụ
 

Hàm ẩn danh rất hữu dụng trong một số trường hợp, Đôi khi chúng ta không cần phải tạo hẳn một hàm cho ,một lần sử dụng duy nhất.

Thông thường, chúng ta sẽ cần một hàm để làm một công việc, nhưng nó không có nghĩa là chúng ta sẽ dùng nó trong phạm vi global. Thay vì có một hàm sử dụng một lần và sau đó bỏ đi để nó ở đó, chúng ta có thể sử dụng một hàm ẩn danh để thay thế.

Nếu như các bạn đã từng làm việc với Laravel thì chắc khái niệm này đã không còn là quá xa lạ, khái niệm này trong jquery cũng dùng rất nhiều. khái niệm mình đang nói đến chính là closure, lambda và bài này mình sẽ giới thiệu đến mọi người về nó trong PHP.

Chú ý: Bài này không nằm trong series hướng đối tượng, nhưng nó là phần nâng cao nên mình cho vào danh mục này.

Lambda là gì?

- Lambda là một anonymous function [hàm ẩn danh] nó có thể khai báo,định nghĩa ở bất kỳ đâu và không có khả năng tái sử dụng.

- Lambda chỉ tồn tại trong phạm vi của biến mà nó được định nghĩa, vì vậy nếu như biến đó vượt ra ngoài phạm vi thì hàm này cũng không còn tác dụng nữa.

Lambda thường được dùng để gán vào biến, hay được gán vào hàm,class như một tham số.

Khai báo lambda

-Để khai báo lambda trong PHP chúng ta sử dụng cú pháp:

function [argument]
{
    //code
}

Hoặc có thể sử dụng hàm create_function[] trong PHP.

create_function['', argument];

Trong đó: Trong đó argument là các tham số bạn muốn truyền vào tham số ẩn danh.

VD1: Khai báo hàm ẩn có tác dụng in ra chuỗi 'Học lập trình online toidicode.com'.

function []
{
    return 'Học lập trình online toidicode.com';
}

Sử dụng lambda

-Như ở trên mình có nói là lambda thường được gán vào biến, hoặc gán vào hàm, class như một tham số. Giờ mình sẽ làm các ví dụ chứng minh cho điều đó.

VD2: Sử dụng hàm ẩn danh vào biến.

Chủ Đề