(PHP 5 >= 5.5.0)
Generator::send — 値をジェネレータに送る
指定した値を yield の結果としてジェネレータに送り、ジェネレータを続行します。
Generator::send() を使うと、 反復処理の際に値をジェネレータ関数に注入できます。 注入した値は yield 文の結果として返され、ジェネレータ関数内のその他の値と同じように使えます。
value
例1 Generator::send() による値の注入
<?php
function printer() {
while (true) {
$string = yield;
echo $string;
}
}
$printer = printer();
$printer->send('Hello world!');
?>
上の例の出力は以下となります。
Hello world!
yield した値を返します。