Computer >> Máy Tính >  >> Lập trình >> PHP

Các hàm ẩn danh trong PHP

Giới thiệu

Chức năng ẩn danh là một chức năng không có bất kỳ tên người dùng nào xác định. Một hàm như vậy còn được gọi là bao đóng hoặc lambda hàm số. Đô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 trên môi trường mà nó được xác định. Bạn cần chỉ định từ khóa use trong đó. Việc sử dụng phổ biến nhất của hàm ẩn danh để tạo một hàm gọi lại nội tuyến.

Cú pháp

$var=function ($arg1, $arg2) { return $val; };
  • Không có tên hàm nào giữa từ khóa hàm và dấu ngoặc đơn mở đầu.
  • Có dấu chấm phẩy sau định nghĩa hàm vì định nghĩa hàm ẩn danh là biểu thức
  • Hàm được gán cho một biến và được gọi sau đó bằng cách sử dụng tên của biến đó.
  • Khi được chuyển cho một hàm khác mà sau đó có thể gọi hàm đó, nó được gọi là hàm gọi lại.
  • Trả lại nó từ bên trong một hàm bên ngoài để nó có thể truy cập các biến của hàm bên ngoài. Đây được gọi là sự đóng cửa.

Ví dụ về hàm ẩn danh

Ví dụ

<?php
$var = function ($x) {return pow($x,3);};
echo "cube of 3 = " . $var(3);
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau. -

cube of 3 = 27

Chức năng ẩn danh dưới dạng gọi lại

Trong ví dụ sau, một hàm ẩn danh được sử dụng làm đối số cho một hàm usort () tích hợp sẵn. Hàm usort () sắp xếp một mảng nhất định bằng hàm so sánh

Ví dụ

<?php
$arr = [10,3,70,21,54];
usort ($arr, function ($x , $y) {
   return $x > $y;
});
foreach ($arr as $x){
   echo $x . "\n";
}
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau. -

3
10
21
54
70

Hàm ẩn danh dưới dạng đóng

C Close cũng là một hàm ẩn danh có thể truy cập các biến bên ngoài phạm vi của nó với sự trợ giúp của từ khóa use

Ví dụ

<?php
$maxmarks=300;
$percent=function ($marks) use ($maxmarks) {return $marks*100/$maxmarks;};
echo "marks=285 percentage=". $percent(285);
?>

Đầu ra

Điều này sẽ tạo ra kết quả sau. -

marks=285 percentage=95