生成器的返回值
在php5.5引入生成器的概念。生成器函数每执行一次就得到一个yield标识的值。在php7中,当生成器迭代完成后,可以获取该生成器函数的返回值。通过generator::getreturn()得到。
<?php
function generator() {
yield 1;
yield 2;
yield 3;
return "a";
}
$generatorclass = ("generator")();
foreach ($generatorclass as $val) {
echo $val.” “;
}
echo $generatorclass->getreturn();
输出为:1 2 3 a
生成器中引入其他生成器
在生成器中可以引入另一个或几个生成器,只需要写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, " ";
}
输出:1 2 3 4 5 6
以上就是介绍php7中生成器使用方法更新的详细内容。