一起源码网

标题: 介绍php7中生成器使用方法更新 [打印本页]

作者: 云文章    时间: 2020-3-8 14:30
标题: 介绍php7中生成器使用方法更新
生成器的返回值

在PHP5.5引入生成器的概念。生成器每执行一次就得到一个yield标识的值。在PHP7中,当生成器迭代完成后,可以获取该生成器。通过Generator::get()得到。

<?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


作者: xiaoxi2011    时间: 2022-9-4 10:44
网盘系统源码




欢迎光临 一起源码网 (https://www.171739.xyz/) Powered by Discuz! X3.3