La clase Generator

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

Introducción

Los objetos Generator son devueltos desde generadores.

Precaución

Los objetos Generator no pueden ser instanciados mediante new.

Sinopsis de la Clase

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

Ver también

Véase también iteración de objetos.

Tabla de contenidos

add a note

User Contributed Notes 1 note

up
40
Pistachio
10 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
To Top