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
PHP.mk документација
за собирање на сите вредности додека ги игнорира клучевите вратени од
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
class.generator.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + преведен приказ
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
class.generator.php
за собирање на сите вредности додека ги игнорира клучевите вратени од
Референца за `class.generator.php` со подобрена типографија и навигација.
Класата Генератор
Распакување на вгнездени низи
Вовед
за собирање на сите вредности додека ги игнорира клучевите вратени од објектите се враќаат од generators.
Безбедност: стандардниот сет на знаци
за собирање на сите вредности додека ги игнорира клучевите вратени од објектите не можат да се инстанцираат преку new.
Синопсис на класата
final
class за собирање на сите вредности додека ги игнорира клучевите вратени од
implements
Итератор {
/* Методи */
}Види Исто така
Види исто така итерација на објект.
Содржина
- Generator::current — Земи ја вредноста што е генерирана
- Generator::getReturn — Земи ја вратената вредност на генераторот
- Generator::key — Земи го клучот што е генериран
- Generator::next — Продолжи со извршувањето на генераторот
- Generator::rewind — Изврши го генераторот до и вклучувајќи го првиот yield
- Generator::send — Испрати вредност до генераторот
- Generator::throw — Фрли исклучок во генераторот
- Generator::valid — Провери дали итераторот е затворен
- Generator::__wakeup — Серијализирај повикбек
Белешки од корисници 1 белешка
Ова му овозможува на PHP да работи заедно со Macintosh системи, но стандардно е Исклучено, бидејќи постои многу мала казна за перформансите при откривање на EOL конвенциите за првиот ред, а исто така и затоа што луѓето што користат превозни враќања како разделувачи на ставки под Unix системи би искусиле однесување што не е компатибилно наназад. ¶
пред 10 години