略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Generator

2024-11-22

生成器类

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

简介

Generator 对象是从 generators返回的.

警告

Generator 对象不能通过 new 实例化.

类摘要

final class Generator implements Iterator {
/* 方法 */
public current(): mixed
public getReturn(): mixed
public key(): mixed
public next(): void
public rewind(): void
public send(mixed $value): mixed
public throw(Throwable $exception): mixed
public valid(): bool
public __wakeup(): void
}

参见

也可以参考 遍历对象

目录

add a noteadd a note

User Contributed Notes 1 note

up
33
Pistachio
6 years ago
Unlike return, yield can be used anywhere within a function so logic can flow more naturally. Take for example the following Fibonacci generator:

<?php
function fib($n)
{
   
$cur = 1;
   
$prev = 0;
    for (
$i = 0; $i < $n; $i++) {
        yield
$cur;

       
$temp = $cur;
       
$cur = $prev + $cur;
       
$prev = $temp;
    }
}

$fibs = fib(9);
foreach (
$fibs as $fib) {
    echo
" " . $fib;
}

// prints: 1 1 2 3 5 8 13 21 34

官方地址:https://www.php.net/manual/en/class.generator.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3