Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...

When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store


(PHP 5 >= 5.5.0)

Generator::sendSend a value to the generator


public mixed Generator::send ( mixed $value )

Sends the given value to the generator as the result of the current yield expression and resumes execution of the generator.

If the generator is not at a yield expression when this method is called, it will first be let to advance to the first yield expression before sending the value. As such it is not necessary to "prime" PHP generators with a Generator::next call (like it is done in Python).



Value to send into the generator. This value will be the return value of the yield expression the generator is currently at.


Example #1 Using Generator::send to inject values

function printer() {
    while (
true) {
$string yield;

$printer printer();
$printer->send('Hello world!');
$printer->send('Bye world!');

The above example will output:

Hello world!
Bye world!

Return Values

Returns the yielded value.

PHP Manual