php生成器yield from详解

简介: php生成器yield from详解

PHP7中,通过生成器委托(yield from),可以将其他生成器、可迭代的对象、数组委托给外层生成器。外层的生成器会先顺序 yield 委托出来的值,然后继续 yield 本身中定义的值。同时yield from也能获取到生成器的返回值,
和生成器的getReturn方法作用同等,需要注意这里仅仅指的是获取返回值是同等的。
yield from 方便我们编写比较清晰生成器嵌套

<?php

function G1()
{

$i = 3;
while ($i--)
{
    var_dump($i);
    yield $i;
}

return 110;

}

function G2()
{

$return = yield from G1();
var_dump($return);

}

foreach (G2() as $item)
{

}
上面的代码将G1生成器的迭代委托给了G2,G2需要先顺序迭代G1,然后再继续yield本身,通过yield from委托完成会返回委托迭代器的返回值

目录
相关文章
|
8月前
|
PHP
PHP - Laravel 视图模板(blade.php) 模板继承(@extends、@yield、@section)
PHP - Laravel 视图模板(blade.php) 模板继承(@extends、@yield、@section)
132 0
|
PHP 数据库
PHP的yield使用场景是什么?底层原理是什么?
PHP的yield使用场景是什么?底层原理是什么?
374 0
|
PHP
php生成器的send方法详解,php yield send
php生成器的send方法详解,php yield send
158 0
|
7月前
|
关系型数据库 MySQL PHP
PHP 原生操作 Mysql
PHP 原生操作 Mysql
81 0
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生连接 Mysql
PHP 原生连接 Mysql
107 0
|
7月前
|
关系型数据库 MySQL Unix
PHP MySql 安装与连接
PHP MySql 安装与连接
126 0
|
3月前
|
关系型数据库 MySQL PHP
|
4天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
7月前
|
关系型数据库 MySQL 数据库连接
PHP 原生操作 Mysql 增删改查案例
PHP 原生操作 Mysql 增删改查案例
87 0
|
2月前
|
监控 关系型数据库 MySQL
PHP与MySQL的结合:实现局域网上网行为监控软件的数据库管理
在当今信息化时代,网络安全日益成为重要的话题。为了有效监控和管理局域网上网行为,开发一个基于PHP和MySQL的数据库管理系统是一个理想的选择。本文将介绍如何结合PHP和MySQL,开发一款简单而高效的局域网上网行为监控软件,并重点关注数据库管理方面的实现。
184 0