The concept of generator was introduced in PHP5.5. GeneratorFunctiongets a value identified by yield every time it is executed. In PHP7, when the generator iteration is completed, the return value of the generator function can be obtained. Obtained through Generator::getReturn().
<?php function generator() { yield 1; yield 2; yield 3; return "a"; } $generatorClass = ("generator")(); foreach ($generatorClass as $val) { echo $val.” “; } echo $generatorClass->getReturn();
The output is: 1 2 3 a
Introducing other generators into the generator
You can introduce another or several generators into the generator, just write yield from functionName1
<?php function generator1(){ yield 1; yield 2; yield from generator2(); yield from generator3(); } function generator2(){ yield 3; yield 4; } function generator3(){ yield 5; yield 6; } foreach (generator1() as $val){ echo $val, " "; }
Output: 1 2 3 4 5 6
The above is the detailed content of Introducing updates on how to use generators in php7. For more information, please follow other related articles on the PHP Chinese website!