php 生成器语法

首先生成器是实现了迭代器接口的类,所以叫做迭代生成器

Generator: 生成器

Iterator: 迭代器

Generator implements Iterator {

/* 方法 */

public current ( void ) : mixed

public key ( void ) : mixed

public next ( void ) : void

public rewind ( void ) : void

public send ( mixed $value ) : mixed //重启生成器的运行,直到遇到yield关键字才再次停止

public throw ( Exception $exception ) : void

public valid ( void ) : bool

public __wakeup ( void ) : void

}

 <?php
function gen_one_to_three() {
    for (
$i 1$i <= 3$i++) {
        
//注意变量$i的值在不同的yield之间是保持传递的。
        
yield $i;
    }
}


$generator gen_one_to_three();
foreach (
$generator as $value) {
    echo 
"$value\n";
}

?>

 

gen_one_to_three()生成一个可迭代的对象简单来说就是 保留上次执行后的环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值