• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • php7教程
  • MySQL手册
  • apache手册
  • 位置: php7教程 -> php7语言

    php7预定义接口生成器类

    (No version information available, might only be in Git)

    简介

    Generator 对象是从 generators返回的.

    Caution

    Generator 对象不能通过 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