Hướng dẫn php anonymous function() use multiple variables - hàm ẩn danh php () sử dụng nhiều biến

Php 5.3+ hỗ trợ các chức năng ẩn danh [mặc dù, nó hỗ trợ họ một chút khác nhau trong PHP 7.x+ về mặt ràng buộc]. Tôi đang chạy php 5.6.x

Có một cú pháp cho phép nhiều đối số được chuyển đến một hàm ẩn danh [không cần sử dụng một mảng] được sử dụng làm cuộc gọi lại. Những ví dụ nào trong số này, nếu có, có thể trong PHP?callback. Which of these examples, if any, are possible in PHP?

ví dụ 1

function [$str1, $str2 ]{   //But, that would be too easy, right?
    return $str1 . $str2;
}

Ví dụ 2

function [] use [$string, $min, $max] {  // Not seeing this in the manual.
    $length = mb_strlen[$string, 'UTF-8'];
    return [$length >= $min] && [$length 

Các chức năng ẩn danh được thực hiện bằng cách sử dụng lớp đóng.Closure internal class. Assigning a closure to a variable uses the same syntax as any other assignment, including the trailing semicolon:

Ví dụ #1 Chức năng ẩn danh

Đóng cửa cũng có thể được sử dụng làm giá trị của các biến; PHP tự động chuyển đổi các biểu thức như vậy thành các phiên bản của lớp nội bộ đóng. Việc gán một đóng cho một biến sử dụng cùng một cú pháp như bất kỳ nhiệm vụ nào khác, bao gồm cả dấu chấm phẩy kéo dài:

Ví dụ #2 ví dụ biến chức năng ẩn danh

function [] use [$string, $min, $max] {  // Not seeing this in the manual.
    $length = mb_strlen[$string, 'UTF-8'];
    return [$length >= $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length = $min] && [$length 

0

1

2

3

function [$str1, $str2 ] use [$int1, $int2] { // But, that would be in the manual?
    return $str1 . $str2 .' '. $int2 + $int2;
}
7

Erolmon Dot Kskn tại Gmail Dot Com ¶

4 năm trước

5

6

function [$str1, $str2 ] use [$int1, $int2] { // But, that would be in the manual?
    return $str1 . $str2 .' '. $int2 + $int2;
}
7

Chao ¶

12 năm trước

8

9

0

1

2

3

4

5

8 năm trước

Erolmon Dot Kskn tại Gmail Dot Com ¶

6

7

8

Làm thế nào bạn có thể chuyển một biến cục bộ cho một hàm ẩn danh trong PHP?

Có, sử dụng đóng cửa: functionName [$ someargument, function [] sử dụng [& $ biến] {$ varable = "something";}]; Lưu ý rằng để bạn có thể sửa đổi $ biến và truy xuất giá trị được sửa đổi bên ngoài phạm vi của hàm ẩn danh, nó phải được tham chiếu trong phần đóng bằng cách sử dụng &. Nó mới!use a closure: functionName[$someArgument, function[] use[&$variable] { $variable = "something"; }]; Note that in order for you to be able to modify $variable and retrieve the modified value outside of the scope of the anonymous function, it must be referenced in the closure using & . It's new!

Các chức năng ẩn danh có thể có đối số?

Một hàm ẩn danh không thể truy cập được sau khi tạo ban đầu, nó chỉ có thể được truy cập bởi một biến mà nó được lưu trữ dưới dạng một hàm như một giá trị. Một hàm ẩn danh cũng có thể có nhiều đối số, nhưng chỉ có một biểu thức.An anonymous function can also have multiple arguments, but only one expression.

Hàm ẩn danh đưa ra ví dụ trong PHP là gì?

Các chức năng ẩn danh được thực hiện bằng cách sử dụng lớp đóng.Ví dụ #1 Chức năng ẩn danh ví dụ.echo preg_replace_callback ['~-[[a-z]] ~', function [$ match] {return strtoupper [$ match [1]];}, 'Hello-world'];implemented using the Closure class. Example #1 Anonymous function example. echo preg_replace_callback['~-[[a-z]]~', function [$match] { return strtoupper[$match[1]]; }, 'hello-world'];

Chức năng ẩn danh khác với hàm bình thường trong PHP như thế nào?

Các hàm ẩn danh tương tự như các chức năng thông thường, trong đó chúng chứa một khối mã được chạy khi chúng được gọi.Họ cũng có thể chấp nhận các đối số và trả về các giá trị.Sự khác biệt chính - như tên của chúng ngụ ý - là các hàm ẩn danh không có tên.anonymous functions have no name.

Chủ Đề