Trong PHP từ khoá yield
để làm gì?
Trong PHP từ khoá yield
để làm gì?
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.
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
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào