(No version information available, might only be in Git)
简介
Generator 对象是从 generators返回的.
CautionGenerator 对象不能通过 new 实例化.
类摘要
Generator implements Iterator { /* 方法 */ public current ( void ) : mixed public key ( void ) : mixed public next ( void ) : void public rewind ( void ) : void public send ( mixed $value ) : mixed public throw ( Exception $exception ) : void public valid ( void ) : bool public __wakeup ( void ) : void }
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