Esempio n. 1
0
        $counter = $start;
        if ($start > $end) {
            return;
            // Iterator is backwards so don't do it.
        }
        while ($counter <= $end) {
            (yield $counter);
            $counter += $step;
        }
        return;
    }
}
echo '<h1>Generators</h1>';
echo '<h2>Basic</h2>';
$gen = new Generators();
$basic = $gen->getBasicIterator();
foreach ($basic() as $key => $word) {
    echo $key . '=>' . $word . '<br>';
}
echo '<br><br>';
$evenCounter = $gen->xRangeGenerator(0, 10, 2);
foreach ($evenCounter as $number) {
    echo "Number: {$number}<br>";
}
echo '<br><br>';
// Looping a generator and manually advancing another in the loop
$evenCounter = $gen->xRangeGenerator(0, 10, 2);
$oddCounter = $gen->xRangeGenerator(1, 11, 2);
foreach ($evenCounter as $number) {
    echo "Number: {$number}<br>";
    echo "Odd number: " . $oddCounter->current() . '<br>';