Info
Відкрити сторінку на телефоні

Що робить оператор yield?

Оператор `yield` в PHP використовується для створення генераторів. Генератори є спеціальним типом об'єктів, які дозволяють вам ітерувати через набір значень без необхідності зберігати всі значення в пам'яті. Замість цього генератори виробляють значення на льоту за запитом.

Основна ідея `yield` в тому, що вона призупиняє виконання функції і повертає значення викликаючому коду. При наступному виклику генератор продовжує виконання з місця призупинення і продовжує генерацію наступного значення.

Ось приклад простого генератора в PHP:

                        
function myGenerator() {
    yield 1;
    yield 2;
    yield 3;
}

// Виклик генератора
$generator = myGenerator();

foreach ($generator as $value) {
    echo $value . ' ';
}

// Результат: 1 2 3

                        
                    

У цьому прикладі генератор `myGenerator` містить три оператори `yield`, які генерують послідовність чисел. При виклику генератора ітерацією через нього за допомогою `foreach`, виводиться послідовність чисел 1, 2 та 3.

Генератори особливо корисні при роботі з великими наборами даних або при необхідності обробки значень по одному без використання великої кількості пам'яті.