Отправляет значение в генератор

# Generator::send

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

Generator::send — Отправляет значение в генератор

### Описание

public function Generator::send(mixed `$value`): mixed

Метод отправляет значение в генератор как результат текущего выражения `yield` и возобновляет выполнение генератора.

Перед отправкой значения генератор сначала перейдёт к первому выражению `yield`, если при вызове метода генератор ещё не дошёл до первого выражения `yield`. Поэтому перед вызовом метода не требуется «подготавливать» работу PHP-генераторов вызовом метода Generator::next(), как это делается в языке Python.

### Список параметров

`value`

  Значение для отправки в генератор, которое вернёт выражение `yield` в точке, до которой дошёл генератор.

### Возвращаемые значения

Метод возвращает значение, которое выдал генератор.

### Примеры

Пример #1 Пример внедрения значений в генератор путём вызова метода Generator::send()

    <?php

    function printer()
    {
        echo "Я — принтер!" . PHP_EOL;

        while (true) {
            $string = yield;
            echo $string . PHP_EOL;
        }
    }

    $printer = printer();

    $printer->send('Привет, мир!');
    $printer->send('Пока, мир!');

Результат выполнения приведённого примера:

    Я — принтер!
    Привет, мир!
    Пока, мир!

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open