The Generator class

(PHP 5 >= 5.5.0)

Introduction

Generator objects are returned from generators.

Caution

Generator objects cannot be instantiated via new.

Class synopsis

Generator implements Iterator {
/* Methods */
public mixed current ( void )
public mixed key ( void )
public void next ( void )
public void rewind ( void )
public mixed send ( mixed $value )
public mixed throw ( Exception $exception )
public bool valid ( void )
public void __wakeup ( void )
}

Table of Contents

Коментарии

Автор:
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
2016-02-05 02:04:35
http://php5.kiev.ua/manual/ru/class.generator.html

    Поддержать сайт на родительском проекте КГБ