Câu hỏi phỏng vấn PHP
Câu hỏi

Trong PHP từ khoá yield để làm gì?

Câu trả lời

Trong PHP, từ khóa yield được sử dụng trong việc tạo ra các generator, một loại iterator đặc biệt cho phép bạn duyệt qua một tập hợp dữ liệu mà không cần tạo ra và lưu trữ toàn bộ tập hợp đó trong bộ nhớ. Điều này làm cho việc xử lý các tập dữ liệu lớn trở nên hiệu quả hơn về mặt bộ nhớ và thời gian xử lý.

Khi một hàm chứa yield được gọi, nó trả về một đối tượng Generator. Mỗi lần yield được thực thi, nó "tạm dừng" hàm và trả về một giá trị cho vòng lặp foreach đang gọi nó. Khi vòng lặp tiếp tục, hàm tiếp tục thực thi từ điểm nó đã tạm dừng cho đến khi gặp yield tiếp theo hoặc kết thúc hàm.

Ví dụ:

php Copy
function getFibonacci() {
    $i = 0;
    $k = 1; // Giá trị fibonacci đầu tiên
    yield $k;
    while (true) {
        $k = $i + $k;
        $i = $k - $i;
        yield $k;
    }
}

$y = 0;
foreach (getFibonacci() as $fibonacci) {
    echo $fibonacci . "\n";
    $y++;
    if ($y > 30) break; // Ngăn chặn vòng lặp vô hạn
}

Trong v...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Hãy phân biệt giữa parameterised functionnon-parameterised function trong PHP?

middle

Sự khác biệt giữa array_map, array_walkarray_filter trong PHP là gì?

middle

Giải thích sự khác biệt giữa shell_exec()exec() trong PHP là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào