The Generator class

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

Вступ

Generator objects are returned from generators.

Застереження

Generator objects cannot be instantiated via 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
}

Прогляньте також

See also object iteration.

Зміст

add a note

User Contributed Notes 1 note

up
32
Pistachio
9 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:<?phpfunction 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
To Top