Start · Sprachen · PHP · Referenz · Generator

Generator

Klasse

Iteriert lazy über Werte einer Funktion, die <code>yield</code> nutzt — Memory-effizient.

seit PHP 5.5.0 Kategorie: oop

Signatur

final class Generator implements Iterator

Beschreibung

Perfekt zum Streamen: pro foreach-Iteration wird die Funktion bis zum nächsten yield ausgeführt. Millionen von Werten ohne Memory-Explosion.

Rückgabewert

Typ
Generator
Beschreibung
Iterator.

Beispiele

Generator-Funktion

<?php

function fibonacci(): Generator {
    $a = 0; $b = 1;
    while (true) {
        yield $a;
        [$a, $b] = [$b, $a + $b];
    }
}

foreach (fibonacci() as $i => $n) {
    echo $n . "\n";
    if ($i >= 10) break;
}